Hallo ISAS,
das mit dem Laden und Speichern könnte so funktionieren:
Erst brauchst du einen Datentyp, der alle Informationen enthält, die ein Level/eine Karte braucht. z.B. so:
Delphi-Quellcode:
type
TLevel = record
Kachel: Array [1..500,1..500] of Integer; //Hier sind die Nummern der einzelnen Kacheln des Hintergrunds!!
Autor: String[100];
Beschreibung: String[100];
end;
Es gibt allerdings eine Einschränkung: Es dürfen keine dynamischen Arrays und keine Strings ohne Begrenzung vorkommen.
Zum Laden und Speichern machst du folgendes:
Delphi-Quellcode:
function LevelLaden(Dateiname: String):TLevel;
var Datei: File of TLevel;
begin
AssignFile(Datei,Dateiname);
if FileExists(Dateiname) then
begin
Reset(Datei);
Read(Datei,Result);
CloseFile(Datei);
end
else
begin
//falls Datei nicht existiert.
end;
end;
Procedure LevelSpeichern(Level: TLevel;Dateiname: String);
var Datei: File of TLevel;
begin
AssignFile(Datei,Dateiname);
ReWrite(Datei);
Write(Datei,Level);
CloseFile(Datei);
end;
Was die einzelnen Befehle (AssighnFile, Reset, Read, Write und Closefile) bringen liest du am besten in der
OH nach.
Nun kannst du einen Leveleditor schreiben und dort Levels bauen. Diese kannst du dann mit "LevelSpeichern" speichern und dann im Spiel mit "Levelladen" laden.
Ich hoffe, das hilft dir weiter!
Grüße
Seniman