Hola
Esta bien el juego que consiguió axesys, pero le falto dar unos componentes, bueno de todos modos, como siempre a lo novato lo hice.
Aqui esta el codigo:
Ya colocamos 9 edits y dos botones (Nuevo y Cerrar) en el form, espero que te sirva para aprender un poco mas.
El Codigo completo, muy simple y Mejorable, pero funcional.
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Button1: TButton;
Button2: TButton;
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit7Change(Sender: TObject);
procedure Edit8Change(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1Change(Sender: TObject);
begin
If (Edit1.Text = 'X') and (Edit2.Text = 'X') and (Edit3.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit1.Text = 'X') and (Edit4.Text = 'X') and (Edit7.Text = 'X') Then
begin
ShowMessage('Gano la X');
end
else if (Edit1.Text = 'X') and (Edit5.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit1.Text = '0') and (Edit2.Text = '0') and (Edit3.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit1.Text = '0') and (Edit4.Text = '0') and (Edit7.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
else if (Edit1.Text = '0') and (Edit5.Text = '0') and (Edit9.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end;
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
If (Edit1.Text = 'X') and (Edit2.Text = 'X') and (Edit3.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit2.Text = 'X') and (Edit5.Text = 'X') and (Edit8.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit1.Text = '0') and (Edit2.Text = '0') and (Edit3.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit2.Text = '0') and (Edit5.Text = '0') and (Edit8.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
If (Edit1.Text = 'X') and (Edit2.Text = 'X') and (Edit3.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit3.Text = 'X') and (Edit6.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end
else if (Edit3.Text = 'X') and (Edit5.Text = 'X') and (Edit7.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit1.Text = '0') and (Edit2.Text = '0') and (Edit3.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit3.Text = '0') and (Edit6.Text = '0') and (Edit9.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
else if (Edit3.Text = '0') and (Edit5.Text = '0') and (Edit7.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end;
end;
procedure TForm1.Edit4Change(Sender: TObject);
begin
If (Edit1.Text = 'X') and (Edit4.Text = 'X') and (Edit7.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit4.Text = 'X') and (Edit5.Text = 'X') and (Edit6.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit1.Text = '0') and (Edit4.Text = '0') and (Edit7.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit4.Text = '0') and (Edit5.Text = '0') and (Edit6.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
end;
procedure TForm1.Edit5Change(Sender: TObject);
begin
If (Edit4.Text = 'X') and (Edit5.Text = 'X') and (Edit6.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit2.Text = 'X') and (Edit5.Text = 'X') and (Edit8.Text = 'X') Then
begin
ShowMessage('Gano la X');
end
else if (Edit3.Text = 'X') and (Edit5.Text = 'X') and (Edit7.Text = 'X') Then
begin
ShowMessage('Gano la X');
end
else if (Edit1.Text = 'X') and (Edit5.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit4.Text = '0') and (Edit5.Text = '0') and (Edit6.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit2.Text = '0') and (Edit5.Text = '0') and (Edit8.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
else if (Edit3.Text = '0') and (Edit5.Text = '0') and (Edit7.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
else if (Edit1.Text = 'X') and (Edit5.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
end;
procedure TForm1.Edit6Change(Sender: TObject);
begin
If (Edit3.Text = 'X') and (Edit6.Text = 'X') and (Edit9.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit4.Text = 'X') and (Edit5.Text = 'X') and (Edit6.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit3.Text = '0') and (Edit6.Text = '0') and (Edit9.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit4.Text = '0') and (Edit5.Text = '0') and (Edit6.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
end;
procedure TForm1.Edit7Change(Sender: TObject);
begin
If (Edit1.Text = 'X') and (Edit2.Text = 'X') and (Edit3.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit3.Text = 'X') and (Edit5.Text = 'X') and (Edit7.Text = 'X') Then
begin
ShowMessage('Gano la X');
end
else if (Edit7.Text = 'X') and (Edit8.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit1.Text = '0') and (Edit2.Text = '0') and (Edit3.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit3.Text = '0') and (Edit5.Text = '0') and (Edit7.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
else if (Edit7.Text = '0') and (Edit8.Text = '0') and (Edit9.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end;
end;
procedure TForm1.Edit8Change(Sender: TObject);
begin
If (Edit2.Text = 'X') and (Edit5.Text = 'X') and (Edit8.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit7.Text = 'X') and (Edit8.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit2.Text = '0') and (Edit5.Text = '0') and (Edit8.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit7.Text = '0') and (Edit8.Text = '0') and (Edit9.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
end;
procedure TForm1.Edit9Change(Sender: TObject);
begin
If (Edit1.Text = 'X') and (Edit5.Text = 'X') and (Edit9.Text = 'X') then
Begin
ShowMessage('Gano la X');
end
else if (Edit3.Text = 'X') and (Edit6.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end
else if (Edit7.Text = 'X') and (Edit8.Text = 'X') and (Edit9.Text = 'X') Then
begin
ShowMessage('Gano la X');
end;
If (Edit1.Text = '0') and (Edit5.Text = '0') and (Edit9.Text = '0') then
Begin
ShowMessage('Gano EL 0');
end
else if (Edit3.Text = '0') and (Edit6.Text = '0') and (Edit9.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end
else if (Edit7.Text = '0') and (Edit8.Text = '0') and (Edit9.Text = '0') Then
begin
ShowMessage('Gano EL 0');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
comp:TComponent;
Str:String;
begin
for i := 1 to 9 do begin
Str := 'Edit' + IntToStr(i); comp := FindComponent(Str);
TEdit(comp).Clear;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MessageBox(Handle,
PChar('Para usar el juego tiene que poner ' + #13#10 +
'La X en mayuscula y el numero cero ( 0 )' + #13#10 +
'De lo contrario no dara el ganador. '),
PChar('Reglas del Juego'),
MB_OK + MB_DEFBUTTON1 + MB_APPLMODAL);
end;
end.
Despues le puedes agregar figuritas y de mas.
Tarea Hecha, verdad .
De novato a Novato/a
Saludos