Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Hacer El Juego Del Gato En Delphi (https://www.clubdelphi.com/foros/showthread.php?t=65668)

amonxanubis4 05-01-2010 05:14:27

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');

Caral 06-01-2010 01:15:34

Hola
Completo, terminado y explicado.
De aquí puedes sacar cualquier modificación.
Saludos

amonxanubis4 07-01-2010 00:24:10

Caral, muchisimas gracias por el programa pero la verdad no me sirve. veras es para un examen final y me pidieron que debe ser programado con base en una matriz de 3 x 3. el punto es que el codigo que puse arriba es lo que llevo hecho, y el problema es que no puedo llenar la matriz :( lo estoy intentando con bitbtn, y almacenandoles la propiedad glyph, lo que busco es almacenar un valor de 1 para la posicion de x y de 2 para el valor de la O. y lo que debe almacenar la matriz es cuales son las posiciones en las que hay un uno y cuales en las que hay un dos, y ya despues comparar si las posiciones dan para ganar, entonces ahi termina :(

no es algo tan complicado u_U el programa que me pasaste esta increible pero la verdad no le entiendo a todo el codigo porque no me lo han enseñado <.<

EDITO: EL PROBLEMA ES QUE ES PARA ESTE VIERNES VIERNES T_T

Crandel 07-01-2010 13:34:40

Tu error es que no debes escribir:

Código Delphi [-]
gatillo[1][1]:=1

sino

Código Delphi [-]
gatillo[1,1]:=1


La franja horaria es GMT +2. Ahora son las 13:40:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi