Einzelnen Beitrag anzeigen

Madeleine

Registriert seit: 27. Dez 2002
31 Beiträge
 
#25
  Alt 5. Jan 2003, 01: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;
  Mit Zitat antworten Zitat