[DONE] Array geht nur bis 19?

Previous topic - Next topic

Sebastian

Sag mal, jedes mal schmiert mir mein Heightmap Terrain Loader ab.
Hab also mal die Top Bugsuche eingeschalten und siehe da: GLBasic lässt nie mehr 20 Felder pro Dimension zu! Ich hab eigentlich viel mehr daklariert aber es macht dann einfach nicht weiter! Und später schmiert mir das Programm natürlich ab, weil ich Felder ansprechen will, die gar nicht existieren  :doubt:

Kitty Hello


Sebastian

#2
Ok, dieser Code hier schmiert jetzt nicht ab aber debugg ihn mal, mach Pause und schau dir dann array genauer an im Debug Fenster... Geht bei mir nur bis [19][19]...
Und mein Terrain Code (der zugegebenermaßen so schlampig war, dass ich ihn jetzt nochmal neu schreibe) hat genau dann funktioniert, wenn ich das Array [20][20] definiert hab...
Nicht 2048, nicht 1024, nicht 512, nicht 256, ... aber bei 20 hats funktioniert. Nur war das Terrain da sehr... unzufriedenstellend...

Code (glbasic) Select
WHILE TRUE
X_MAKE3D 1,100,45
test()
SHOWSCREEN
WEND

FUNCTION test: a=2048,b=2048
DIM array[a][b]

FOR a = 0 TO a-1
FOR b = 0 TO b-1
array[a][b] = RND(255)
NEXT
NEXT
ENDFUNCTION

Tiuz

Eigentlich sollten die Schleifen gar nicht durchlaufen werden? Du setzt ja a und b auf null, und willst sie dann jeweils von 0 bis 0-1 laufen lassen.

Tiuz.

Kitty Hello

korrekt. Und bei den Optionen kann man einstellen, wie weit ein Array beim Debuggen ausgelesen werden soll. Das ist normal 20, weil's sonst lange dauert.

Sebastian

Hmm, das erklärt wieso das Beispiel nicht abgeschmiert ist  :S
Naja, ich meld mich wieder wenn es nochmal Probleme geben sollte.