Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Unit1.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 29 by yamat0jp, Sat Aug 15 12:32:41 2015 UTC revision 30 by yamat0jp, Sun Aug 16 04:15:52 2015 UTC
# Line 21  type Line 21  type
21    
22    TGridData = array [0 .. Count - 1] of array [0 .. Count - 1] of TStoneType;    TGridData = array [0 .. Count - 1] of array [0 .. Count - 1] of TStoneType;
23    
24    TPlayer = class    TPlayer = class(TObject)
25    private    private
26      FAuto: Boolean;      FAuto: Boolean;
27      FStone: TStoneType;      FStone: TStoneType;
# Line 30  type Line 30  type
30      property Stone: TStoneType read FStone write FStone;      property Stone: TStoneType read FStone write FStone;
31    end;    end;
32    
33    TStoneGrid = class    TStoneGrid = class(TObject)
34    private    private
35      FStrings: TGridData;      FStrings: TGridData;
36      FBuffer: array [0 .. Count * Count - 4] of TGridData;      FBuffer: array [0 .. Count * Count - 4] of TGridData;
# Line 129  implementation Line 129  implementation
129    
130  {$R *.fmx}  {$R *.fmx}
131  {$R *.Windows.fmx MSWINDOWS}  {$R *.Windows.fmx MSWINDOWS}
132    {$R *.XLgXhdpiTb.fmx ANDROID}
133    
134  { TStoneGrid }  { TStoneGrid }
135    
136  function TStoneGrid.AddScore(X, Y: integer; const NG: array of TPoint): integer;  function TStoneGrid.AddScore(X, Y: integer; const NG: array of TPoint): integer;
# Line 151  begin Line 153  begin
153    if CanSetStone(Stone, X, Y, true) = true then    if CanSetStone(Stone, X, Y, true) = true then
154    begin    begin
155      result := 0;      result := 0;
156      inc(result, AddScore(X, Y, [Point(1, 0), Point(6, 0), Point(0, 1),      if FTurnIndex < 50 then
157        Point(1, 1), Point(6, 1), Point(7, 1), Point(0, 6), Point(1, 6),        inc(result, AddScore(X, Y, [Point(1, 0), Point(6, 0), Point(0, 1),
158        Point(6, 6), Point(7, 6), Point(1, 7), Point(6, 7)]));          Point(1, 1), Point(6, 1), Point(7, 1), Point(0, 6), Point(1, 6),
159            Point(6, 6), Point(7, 6), Point(1, 7), Point(6, 7)]));
160      case Stone of      case Stone of
161        stBlack:        stBlack:
162          Stone := stWhite;          Stone := stWhite;
# Line 165  begin Line 168  begin
168          if CanSetStone(Stone, i, j, false) = true then          if CanSetStone(Stone, i, j, false) = true then
169          begin          begin
170            inc(result);            inc(result);
171            inc(result, AddScore(i, j, [Point(0, 0), Point(7, 0), Point(0, 7),            if FTurnIndex < 50 then
172              Point(7, 7)]));              inc(result, AddScore(i, j, [Point(0, 0), Point(7, 0), Point(0, 7),
173                  Point(7, 7)]));
174          end;          end;
175    end    end
176    else    else
# Line 355  begin Line 359  begin
359        FBuffer[FTurnIndex] := FStrings;        FBuffer[FTurnIndex] := FStrings;
360        if FGameOver = false then        if FGameOver = false then
361        begin        begin
         FActive:=true;  
362          Form1.ChangePlayer;          Form1.ChangePlayer;
363            FActive:=true;
364        end;        end;
365      end;      end;
366      result := true;      result := true;
# Line 625  end; Line 629  end;
629    
630  procedure TForm1.FormCreate(Sender: TObject);  procedure TForm1.FormCreate(Sender: TObject);
631  begin  begin
632      ClientWidth:=20*Count;
633      ClientHeight:=20*Count;
634    StoneGrid := TStoneGrid.Create;    StoneGrid := TStoneGrid.Create;
635    StoneGrid.ImageCount(Form1.Image1.Bitmap.Width div Form1.Image3.Bitmap.Width,    StoneGrid.ImageCount(Form1.Image1.Bitmap.Width div Form1.Image3.Bitmap.Width,
636      Form1.Image1.Bitmap.Height div Form1.Image3.Bitmap.Height);      Form1.Image1.Bitmap.Height div Form1.Image3.Bitmap.Height);

Legend:
Removed from v.29  
changed lines
  Added in v.30

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26