IF und Array

Previous topic - Next topic

S. P. Gardebiter

Arrays funktionieren nicht mit IF :/
Ich brauch das ganz dringend für mein Spiel >_<

Das heißt:

Code (glbasic) Select
FOR x = 0 TO 20
        IF i[x] = 1
                i[x] = 0
        ENDIF
NEXT
würde nicht funktionieren. Das programm crasht sogar.

Vielleicht bin ich auch einfach nur zu doof. ;)

Edit: Der macht das auch nicht wenn ich diesen code ausführe:

Code (glbasic) Select
FOR x = 0 TO 20
        i[x] = 0
NEXT
Ein wenig seltsam.
~ Cave Story rules! ~

Quentin

dieses Schnipsel sollte eigentlich funktionieren. Ein beliebter Fehler bei Arrays ist immer mal "über den Rand" schreiben zu wollen

Code (glbasic) Select
DIM i[20]

FOR x = 0 to 20
  i[x] = 0
NEXT
dieses Programm wird dir abschmieren, da das Array per DIM-Anweisung nur 20 Elemente hat (also von i[0] bis i[19]). Wenn du in i[20] schreiben willst, schmiert dein Programm ab. Kann anhand deines Beispieles leider nicht sehen, ob das der Fehler ist.

Kitty Hello

DIM i[21]
Du greifst auf 0 ... 20 zu, das sind 21 Felder!!

S. P. Gardebiter

Aso, na dann war ich nur zu blöd, Erklärung ist leicht:

Die Basic Sprachen die ich kenne zählen nicht die Anzahl der Array Felder sondern beginnen von 0 bis das was in der Klammer steht.

Ich werds mir merken das es hier anders ist, danke :P
~ Cave Story rules! ~

Schranz0r

Lass mich raten, BlitzBasic ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

S. P. Gardebiter

Nein nicht BlitzBasic, aber zahlreiche andere :P
z.B. FreeBasic, Basic4GL und so weiter...
~ Cave Story rules! ~

peterpan

Hallo Gardebiter,

welchen Namen hattest du bei Basic4Gl?
Meine ist dort Peterpan.
Peter

S. P. Gardebiter

War da nicht registriert, weil meine Mail nie ankam... Die Sprache war mir auch zu langsam. :/
~ Cave Story rules! ~

Schranz0r

so ist das ;)

GLBasic == Porsche :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard