komischer fehler

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

sen-me

Betreff: komischer fehler

BeitragSa, Sep 10, 2005 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Dim kiste(5)
Dim kistex(5)
Dim kistey(5)
Dim kister(5)
;...
If MilliSecs()>=paketzeit+1000 And paket<5
art=Rnd(0,3)+17
paket=paket+1
kiste(paket)=art
kistex(paket)=0
kistey(paket)=0
kister(paket)=3
paketzeit=MilliSecs()
EndIf


auf den ersten blick sieht es ja fehlerfrei aus, aber wenn ich das starte kommt nur der schwarze bildschirm und ich muss im debugger das script abbrechen
ich weiß nicht wieso, aber es hat was damit zu tun:
BlitzBasic: [AUSKLAPPEN]
  ;...
art=Rnd(0,3)+17
;...
kiste(paket)=art
;...


sobald ich "art" irgendwo nur 1 mal änder (z.b. artig=Rnd... paket)=art) dann gehts auf einmal wieder, nur wenn die variablen beide den selben namen haben bleibt das spiel wie im pausemodus

darth

Betreff: ..

BeitragSa, Sep 10, 2005 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
1. du weisst dass du "kister(paket)=3" und nicht "kistez(paket)=3" geschrieben hast?
2. sollte eigentlich nicht daran liegen... (es sei denn die kiste ist ne mesh oder so...) aber da sollte man schon als variabel gebrauchen können...
3. kann es sein, dass du die variable "paket" irgendwo wieder löschst? dann hättest du nämlich ne endlosschleife produziert... (kommt draufan WO du das ding stehen hast... je nach platz wär das unmöglich - er würde es immer durchlaufen lassen, und irgendwann "arrey index out of bounds" sagen...) aber irgend ne schleife musst du da ja eigentlich haben, sonst macht ers nur 1mal...
Diese Signatur ist leer.
 

sen-me

BeitragSo, Sep 11, 2005 9:12
Antworten mit Zitat
Benutzer-Profile anzeigen
1. kistez ist auch nicht was ich wollte
kister steht für kiste-richtung

2. du siehst grad die einzigen male wo paket benutzt wird, überall gibt es nich die variable

PSY

BeitragSo, Sep 11, 2005 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hoi,

so wie dein code ist (hab ihn nur ein bischen erweitert zum testen) läuft er einwandfrei:

BlitzBasic: [AUSKLAPPEN]

Graphics 320,200,16,2
SetBuffer FrontBuffer()

Dim kiste(5)
Dim kistex(5)
Dim kistey(5)
Dim kister(5)
;...

Repeat
If MilliSecs()>=paketzeit+1000 And paket<5
art=Rnd(0,3)+17
Cls:Text 100,100,art
paket=paket+1
kiste(paket)=art
kistex(paket)=0
kistey(paket)=0
kister(paket)=3
paketzeit=MilliSecs()
paket=0
EndIf
Until KeyDown(1)


der fehler muss also ausserhalb des von dir geposteten codesegmentes liegen.

grüsse,
psy
 

sen-me

BeitragDi, Sep 13, 2005 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
jo der fehler lag an ner sache, wo random allerdings auch beteiligt war Rolling Eyes
ich hatte vergessen das while im gegensatz zu for nicht automatisch die variable um 1 erhöht.
und somit wars ne unendlichschleife Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group