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