Also wenn 255 verschiedene Eigenschaften reichen, dann würd ichs über chars (chr & ord) machen:
Delphi-Quellcode:
//Array
type TKarte = array of array of byte;
//Speichern
list := TStringlist.Create;
try
list.BeginUpdate;
for i := 0 to High(AKarte) do
begin
buf := '';
for j := 0 to High(AKarte[i]) do
buf := buf + chr(AKarte[i][j]);
list.Add(buf);
end;
list.EndUpdate;
list.SaveToFile('datei.txt');
finally
FreeAndNil(list);
end;
//Laden
list := TStringlist.Create;
try
list.LoadFromFile('datei.txt');
SetLength(AKarte,list.Count-1);
for i := 0 to High(AKarte) do
begin
SetLength(AKarte[i],length(list[i])-1);
for j := 0 to High(AKarte[i]) do
AKarte[i][j] := ord(list[i][j]);
end;
finally
FreeAndNil(list);
end;
Ungetestet!!
Bei größerem Bedarf an Eigenschaften:
Entweder du nutzt
explode und
implode oder (wie ich es mache) du nimmst für ein Spieldfeld von 64*64 einfach ein ebensogroßes Bitmap und ordnest jeder Farbe eine Eigenschaft zu. Dann hast du genug mögliche Eigenschaften und es lässt sich leicht auslesen und speichern!
Philipp F.