Einzelnen Beitrag anzeigen

fLaSh11
(Gast)

n/a Beiträge
 
#3

AW: Das Problem mit dem letzten Spielstein

  Alt 16. Jun 2010, 10:45
Ich glaube, es geht ihm darum, festzustellen, wer gewonnen hat.
Zitat:
Dummerweise wird die Abfrage des Spielbrettes bei fast allen Zügen benötigt, nicht nur beim allerletzten Stein.
So verstehe ich den Satz zumindest.

Wenns das ist, was du suchst, ist das ja nicht schwer. Mir fällt im Augenblick nur die hardcode-Variante ein. Man hat ja ein 3x3-Spielfeld. D.h. mann muss wie folgt prüfen:

Als grundlage wähle ich jetzt einfach mal das Spielfeld als Array of Integer.

Delphi-Quellcode:
var
  Spielfeld: Array[1..3, 1..3] of Integer; //nur ein Beispiel: Ohne Spielstein 0; Spieler 1 gesetzt: 1; Spieler 2 gesetzt: 2

//Durchsucht Spielfeld und gibt den Spieler zurück; hat keiner gewonnen: 0
function Gewonnen: integer;
var
  i: integer;
begin
  Result := 0;

  //Alle Zeilen auf eine Reihe durchforsten:

  for i := 1 to 3 do
  begin
    if (Spielfeld[i, 1] = Spielfeld[i, 2]) and (Spielfeld[i, 2] = Spielfeld[i, 3]) then
    begin
      Result = Spielfeld[i, 1];
      Exit;
    end;
  end;

  //das gleiche mit den Spalten machen
  //...

  //und anschließend noch die beiden Diagonalen testen
  //...

end;
  Mit Zitat antworten Zitat