Registriert seit: 27. Dez 2002
31 Beiträge
|
5. Jan 2003, 02:08
ich hab mein Spiel mit Code als Anhang in irgendeinem Post weiter vorne
Delphi-Quellcode:
procedure TFrmMain.Save;
var i,n:Integer;
begin with TIniFile.Create(savedialog1.filename) do
try
if Feldbreite>= FeldHoehe then begin
For i:=0 to FeldBreite-1 do
For n:=0 to FeldHoehe-1 do
WriteInteger(IntToStr(i), IntToStr(n), feld[i,n]);
end
else begin
For i:=0 to FeldHoehe-1 do
For n:=0 to FeldBreite-1 do
WriteInteger(IntToStr(i), IntToStr(n), feld[i,n]);
end;
WriteInteger('Infos','Letzter Spieler',spieler);
WriteInteger('Feld','Feldhöhe',FeldHoehe);
WriteInteger('Feld','Feldbreite',FeldBreite);
WriteBool('Infos','Computergegner',Computergegner);
finally Free;
end;
end;
procedure TFrmMain.Load;
var i,n:Integer;
begin with TIniFile.Create(savedialog1.filename) do
try
spieler := ReadInteger('Infos', 'Letzter Spieler',spieler);
FeldHoehe:= ReadInteger('Feld','Feldhöhe',FeldHoehe);
FeldBreite:= ReadInteger('Feld','Feldbreite',FeldBreite);
Computergegner:= ReadBool('Infos','Computergegner',Computergegner);
if FeldBreite>=Feldhoehe then begin //um sicher zu stellen, das wenn Feldbreite kleiner als hoehe ist, Schleife nicht zu früh abbricht
For i:=0 to FeldBreite-1 do
For n:=0 to FeldHoehe-1 do
feld[i,n]:= ReadInteger(IntToStr(i),IntToStr(n),Feld[i,n]);
end
else begin For i:=0 to Feldhoehe-1 do
For n:=0 to Feldbreite-1 do
feld[i,n]:= ReadInteger(IntToStr(i),IntToStr(n),Feld[n,i]);
end;
StringGrid.RowCount:=FeldHoehe+1;
StringGrid.ColCount:=FeldBreite;
Stringgrid.Width:=Stringgrid.ColCount*41+3;
Stringgrid.Height:=Stringgrid.RowCount*41+3;
FrmMain.Height:=Stringgrid.Height+40;
FrmMain.Width:=Stringgrid.Width;
finally Free;
end;
end;
procedure TFrmMain.Speichern1Click(Sender: TObject);
begin
if SaveDialog1.Execute then Save
end;
procedure TFrmMain.Laden1Click(Sender: TObject);
var i,n:Integer;
begin
if OpenDialog1.Execute then Load;
end;
|
|
Zitat
|