我正在使用 delphi 创建一个游戏,并希望将我的一些代码移动到一个单独的单元,但是此代码使用表单中的属性。这可能吗?
我正在使用 VCL 表单应用程序创建游戏,目前我的所有游戏算法代码都在表单单元中。这没有什么问题,因为我的程序运行良好,只是它看起来很乱,并且有人建议我将算法代码放在一个单独的单元中。我已经尝试将代码移动到一个新单元中,但是无论我尝试什么,都会出现语法错误。
这是我的主要单元中的代码,其中 Grid 是表单中的 TStringGrid ,而 GridSize 是我尝试的第二个单元中的过程:
procedure TGame.NewGame;
begin
Grid.Width:=GridSize(Grid.ColCount);
Grid.Height:=GridSize(Grid.RowCount);
end;
这是第二个单元代码:
unit UGameGenerator;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.Menus,
Vcl.StdCtrls;
implementation
function GridSize(size: integer): integer;
begin
result:=291+36*(size-8);
end;
end.
编辑:
这是第二单元的代码:
procedure ClearGrid;
var
i,j: integer;
begin
for i := 0 to Grid.ColCount-1 do
begin
for j := 0 to Grid.RowCount-1 do
begin
Grid.Cells[i,j]:='';
end;
end;
end;