Als erstes solltest su alle Informationen, die relevant für das Spiel sind
in einem Record speichern:
Hier ein Beispiel
Delphi-Quellcode:
type
TFeldStatus=(fsNichtBesetzt, fsBesetzt, fsNichtVorhanden);
type
TSpielStatus=record
Felder:Array [7, 7] of TFeldStatus;
//sonstige Eigenschaften des spiels z.b. Anzahl der Züge o.Ä
end;
pSpielStatus=^TSpielStatus;
type
TSpiel=class
private
SpielStatusListe:TList;
AktuellerSpielStatus:pSpielStatus;
public
constructor Create;
end;
implementation
constructor TSpiel.Create;
begin
SpielStatusListe:=TList.Create;
New(AktuellerSpielStatus);
SpielStatusListe.Add(AktuellerSpielStatus);
end;
procedure Zurueck();
begin
AktuellerSpielStatus:=SpielStatusListe[Pred(SpielStatusListe.IndexOf(AktuellerSpielStatus))];
end;
procedure Vor();
begin
AktuellerSpielStatus:=SpielStatusListe[Succ(SpielStatusListe.IndexOf(AktuellerSpielStatus))];
end;