Hi SlapY,
eigentlich wollt ich mich nicht einmischen, aber ich kanns nicht lassen,
ich finde die art, wie du die map speicherst, extremo umständlich.
am einfachsten finde ich, eine map als folge von longs abzuspeichern,
diese werden dann einfach in ein array in der grösse der map eingelesen.
d.h., wenn deine map 100x100 gross ist, hast du in der datei 10000 long-werte,
die zeilenweise eingelesen werden.
wenn die grösse der map vorher nicht bekannt, also variabel ist,
dann setzt du einfach noch zwei weitere longs für die dimensionen
vorne dran (header), und arbeite mit einem erneuten DIM.
mal zum verdeutlichen:
Code: Alles auswählen
Dim Map(0,0)
...
...
Procedure Load_Map(name.s)
OpenFile(0,name)
MX.l = ReadLong()
MY.l = ReadLong()
Dim Map(MX,MY)
For y=0 to MX
For x=0 to MY
Map(x,y) = ReadLong()
Next
Next
EndProcedure
das ist die gebräuchliche vorgehensweise, IMHO ist es ziemliche platzverschwendung,
für eine Karte, die letztendlich vollständig gefüllt sein soll, für jedes element
die koordinaten mitzuspeichern, und die elemente in wilde reihenfolge zu packen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.