Ver Mensaje Individual
  #16  
Antiguo 01-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
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
    { Private declarations }
  public
    { Public declarations }
  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
   // Recorrido por los edits
  for i := 1 to 9 do begin
    Str := 'Edit' + IntToStr(i);  // edit3, edit4, Edit5,...
    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
Responder Con Cita