Einzelnen Beitrag anzeigen

Sandy123

Registriert seit: 22. Mär 2011
12 Beiträge
 
#1

Probleme bei TicTacToe-Programm

  Alt 3. Apr 2011, 19:38
servus jungs
ich habe mal eine frage, ich programmiere gerade TicTacToe
im prinzip ganz leicht nur mein problem ist folgendes
wenn ich das spiel starte, dann kann spieler 1 ein "X" machen und dann spieler 2 im nächsten button ein "O"
der nächste button jedoch wird wieder mit "O" deklariert und das geht solange bis alle 9 button ein "O" haben, wie kann ich die beheben


Delphi-Quellcode:
var
  Form1: TForm1;
  player,ps1,ps2 : integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('Spieler 1 startet');
player:=1;
ps1 := 0;
ps2 := 0;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button2.Caption := ('X');
 ps1:=1;
 end
 else
 if player =2 then
 begin
 Button2.Caption := ('O');
 ps2:=1;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
 end;



procedure TForm1.Button3Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button3.Caption := ('X');
 ps1:=ps1+2;
 end
 else
 if player =2 then
 begin
 Button3.Caption := ('O');
 ps2:=ps2+2;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;


procedure TForm1.Button4Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button4.Caption := ('X');
 ps1:=ps1+3;
 end
 else
 if player =2 then
 begin
 Button4.Caption := ('O');
 ps2:=ps2+3;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button5.Caption := ('X');
 ps1:=ps1+4;
 end
 else
 if player =2 then
 begin
 Button5.Caption := ('O');
 ps2:=ps2+4;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button6.Caption := ('X');
 ps1:=ps1+5;
 end
 else
 if player =2 then
 begin
 Button6.Caption := ('O');
 ps2:=ps2+5;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button7.Caption := ('X');
 ps1:=ps1+6;
 end
 else
 if player =2 then
 begin
 Button7.Caption := ('O');
 ps2:=ps2+6;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button8.Caption := ('X');
 ps1:=ps1+7;
 end
 else
 if player =2 then
 begin
 Button8.Caption := ('O');
 ps2:=ps2+7;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button9.Caption := ('X');
 ps1:=ps1+8;
 end
 else
 if player =2 then
 begin
 Button9.Caption := ('O');
 ps2:=ps2+8;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
if player =1 then
begin
 player:= 2;
 Button10.Caption := ('X');
 ps1:=ps1+9;
 end
 else
 if player =2 then
 begin
 Button10.Caption := ('O');
 ps2:=ps2+9;
 end
 else
 showmessage('Spieler' + IntToStr(player) + 'Gibt es nicht!');
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Randomize;
Button2.Caption:='';
Button3.Caption:='';
Button4.Caption:='';
Button5.Caption:='';
Button6.Caption:='';
Button7.Caption:='';
Button8.Caption:='';
Button9.Caption:='';
Button10.Caption:='';

player:=random(2)+1;
showmessage('Spieler' +IntToStr(player) +'Beginnt!');
end;

end.
danke schonmal im vorraus
achja und das nächste problem ist wenn spieler 1 oder 2 drei in eienr reihe bzw diagonal belegt hat und das resultat daras dann der sieg ist wie das der computer erkennt und ich das ausgebe
mfg sandy

Geändert von mkinzler ( 3. Apr 2011 um 19:46 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat