habe ein laufendes Tic Tac Toe Spiel programmiert und es funktioniert auch alles. Da mein Quelltext aber arg lang ist, möchte ich die Gewinnprüfung mittels einer Schleife durchführen. Hat jemand eine Idee wie ich das am einfachsten umsetzen kann?
Code: Alles auswählen
procedure TTicTacToe.Feld1Click(Sender: TObject); //Ereignis beim Klicken eines Buttons
begin
Countererhoehung;
if Spieler=1 then
begin
Feld1.Caption:=('X');
Codespielfeld [1,1] := 'X'; //Eintragen der Stellung in ein Codespielfeld
Feld1.Enabled:=false;
Spieler:=2; //nächster Spieler ist dran
end
else
if Spieler=2 then
begin
Feld1.Caption:=('O');
Codespielfeld [1,1] := 'O';
Feld1.Enabled:=false;
Spieler:=1;
end;
Gewinnpruefung;
end;
Code: Alles auswählen
procedure TTicTacToe.Gewinnpruefung;
begin
// Ab hier die Siegerstellungen
if (Feld1.Caption='X') and (Feld2.Caption='X') and (Feld3.Caption='X') then //Möglichkeit 1
begin
Feld4.visible:= false;
Feld5.visible:= false;
Feld6.visible:= false;
Feld7.visible:= false;
Feld8.visible:= false;
Feld9.visible:= false;
Hintergrund.visible:= false;
showmessage ('Spieler 1 hat gewonnen!');
Spielstand1 := Spielstand1+1;
NeuesSpielstarten.Click;
Counter := 0;
end;
Die Gewinnprüfung ist derzeit für jede Gewinnstellung so aufgebaut wie oben zu sehen.
Liebe Grüße