Hacer El Juego Del Gato En Delphi
Bueno pues busco hacer el proyecto de hacer el juego del gato en delphi. el punto es que ocupo hacer una matriz de 3 x 3, pero cuando intento ingresar un dato a esa matriz en una posicion simplmente no me lo permite...
el codigo que llevo es :
unit GATO_GARABATO;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button10: TButton;
L1: TLabel;
Lact: TLabel;
circulo: TBitBtn;
equis: TBitBtn;
B5: TBitBtn;
B6: TBitBtn;
B3: TBitBtn;
B2: TBitBtn;
B9: TBitBtn;
B8: TBitBtn;
B7: TBitBtn;
B4: TBitBtn;
B1: TBitBtn;
procedure Button10Click(Sender: TObject);
procedure B1Click(Sender: TObject);
procedure B2Click(Sender: TObject);
procedure B3Click(Sender: TObject);
procedure B4Click(Sender: TObject);
procedure B5Click(Sender: TObject);
procedure B6Click(Sender: TObject);
procedure B7Click(Sender: TObject);
procedure B8Click(Sender: TObject);
procedure B9Click(Sender: TObject);
procedure LactClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
j:integer;
gatillo= array[1..3 , 1..3] of integer;
implementation
{$R *.dfm}
procedure TForm1.Button10Click(Sender: TObject);
begin
lact.Caption:='JUGADOR 1';
end;
procedure TForm1.B1Click(Sender: TObject);
var
x,y:integer;
begin
if (j=1) or (j=3) or (j=5) or (j=7) or (j=9) then //lo que se busca aqui es que los turnos pares o impares y que vayan alternando, uno cruz, uno circulo y asi
b1.Glyph:=circulo.Glyph
else
b1.Glyph:=equis.Glyph;
if b1.glyph=circulo.Glyph then
gatillo[1][1]:=1 //aqui es donde intento escribirle al vector
else
if b1.Glyph=equis.Glyph then
begin
gatillo [1][1]:=2;
showmessage ((intostr(gatillo[1][1]);//escribo eso unicamente como test, al ver eso compruebo que no he escrito nada al vector ya que el mensaje siempre me aparece en 0.
end; //fin del ciclo if
j:=j+1; // j= un contador que uso para contar los turnos de cada jugador.
if (gatillo[1,1]=1) and (gatillo[2,1]=1) and (gatillo[3,1]=1) then
showmessage ('Gana el Jugador 1');
|