Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   El Juego de la X y el 0(Cero). (https://www.clubdelphi.com/foros/showthread.php?t=46431)

redimido 31-07-2007 22:09:14

El Juego de la X y el 0(Cero).
 
Hola a todos, alguien podría hacer el favor de facilitar me un ejemplo del famoso juego de x y o(cero), bueno no soy nada experto en esto de delphi y me asignaron este trabajo de hacer este juego y no he encontrado nada que me ayude y no se que hacer si alguien me pudiera dar una mano se lo agradecería mucho. Estoy utilizando Delphi-7.

Es algo como esto:

0 x 0 x 0 x 0 x x
x 0 0 0 x 0 0 x x
0 x x 0 x x 0 x 0


Gracias de antemano. :confused:

Caral 31-07-2007 22:18:01

Hola
Pues yo diria que lo mas sencillo seria usar Edits y validar si hay tres X o 0 en linia o en cruz.
Saludos

eduarcol 31-07-2007 22:19:01

[IRONIA]
Alguna otra solicitud??
[/IRONIA]

Ahora si hablando en serio porq no intentas y aqui te aclaramos las dudas mas precisas que puedas tener

redimido 31-07-2007 22:21:53

Juego
 
Me podrías facilitar algún ejemplo por favor, porque la verdad de delphi no mucho que digamos.:o

0 x 0
x 0 0
x x 0

Además deber decir quien ganó, si el de la X o el del 0.:(

redimido 31-07-2007 22:23:31

Juego
 
Me podrías facilitar algún ejemplo por favor, porque la verdad de delphi no se mucho que digamos.:o

0 x 0
x 0 0
x x 0

Además deber decir quien ganó, si el de la X o el del 0.:(

redimido 31-07-2007 22:30:26

Juego
 
De acuerdo trataré de realizarlo, me han dicho que aprender delphi es fácil, pero que conste que soy toda una inexperta, colocaré los resultados aquí más adelante...:rolleyes:

eduarcol 31-07-2007 22:32:40

Cita:

Empezado por redimido
De acuerdo trataré de realizarlo

Esa es la idea, no dudes de preguntar cualquier duda

Caral 31-07-2007 22:43:49

Hola
Osea a hacer la tarea:D
Bueno que me queda, eso si, la mitad de la calificacion es mia, me la envias.:)
Empecemos con lo basico:
1- abrimos delphi, sabes como?, es broma.:D
2- Iniciamos un nuevo proyecto.
3- Colocamos 1 Edit, lo acortamos para que solo quepa una letra, en font le ponemos, Tamaño 40 y Fuente Elephant, por que me gusta.:D
4- Copiamos y pegamos el edit 9 veces, de la siguiente manera.
Edit1 Edit4 Edit7
Edit2 Edit5 Edit8
Edit3 Edit6 Edit9
5- Colocamos 2 botones abajo.
Vamos asi:

Bueno, no se si podras ver la foto, pero, me imagino que vas bien.
Saludos

delphi.com.ar 31-07-2007 22:48:00

¿Me explicas de que se trata el juego de las X y el 0?... ¿Tateti / TicTacToe?

redimido 31-07-2007 22:51:13

Juego
 
Gracias por la ayuda Caral...:)

Caral 31-07-2007 22:51:59

Hola delphi.com.ar
Yo lo conozco como el juego del Gato o tres en linea.
Gana el que logra tener 3 en linea sean 0 o X dependiendo con que juegues.
Pueden ser verticales o horizontales.
Es un juego muy Viejo.
Saludos

Caral 31-07-2007 22:57:42

Hola
Seguimos con esta tarea.:D
Ya tenemos los edit y los botones, ahora hay que verificar que se gane o se pierda, verdad.
Bueno, ya depende de ti como quieres que lo hagamos, tienes que aportar algo, verdad.:D
Saludos

adfa 31-07-2007 23:05:34

Cita:

Empezado por delphi.com.ar
¿Me explicas de que se trata el juego de las X y el 0?... ¿Tateti / TicTacToe?

Si aca en el sur es el viejo y querido Tateti.

:) :D :) :D

BlueSteel 31-07-2007 23:44:13

Cita:

Empezado por Caral
Yo lo conozco como el juego del Gato o tres en linea.
Gana el que logra tener 3 en linea sean 0 o X dependiendo con que juegues.
Pueden ser verticales o horizontales.
Es un juego muy Viejo.
Saludos

tambien te falto decir que pueden ser en forma diagonal :D :p

axesys 01-08-2007 00:37:19

Ahi se puede bajar el codigo fuente
http://www.lawebdelprogramador.com/c...3&texto=Delphi

Caral 01-08-2007 00:54:10

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 .:D
De novato a Novato/a
Saludos

Caral 01-08-2007 00:59:23

Hola
Aqui dejo el programa completo para que cuando se pueda bajar lo baje el que guste.
Saludos

axesys 01-08-2007 01:19:14

Yo solo le borre del uses el ImageTile y ya compilo en Delphi 2007

Caral 01-08-2007 03:14:45

Hola
Ya lo abri, muy interesante, gracias por el aporte.
Saludos

axesys 01-08-2007 03:19:02

Tambien funciona si renombras el archivo ImageTile.~pas a ImageTile.pas


La franja horaria es GMT +2. Ahora son las 18:41:29.

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