'Next' without 'for' - Huch?
Übersicht

![]() |
BelionBetreff: 'Next' without 'for' - Huch? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallöchen,
Bin irgendwie nicht in der Lage, einen einfachen Fehler zu entdecken, der "Next without For"-Fehler. Hab in meinem Code, eine Funktion nur diese Spuckt irgendwie einen Fehler aus, - ungewollt. Mag mir jemand auf die Sprünge helfen und mir mitteilen, was ich genau falsch gemacht habe, und wo genau das Problem liegt? Gesamte Funktion Code: [AUSKLAPPEN] Function Stein_Function()
If Steine_Erstellen = True Steine_Erstellen = False ;Stein Types Erstellen For Y=0 To MapX_Size For X=0 To MapY_Size If map(X,Y) = 3 Stein.Steintyp = New Steintyp SteinX = X SteinY = Y Steinfalling = False End If Next Next End If If MilliSecs()>=Timer_Fallen+Gravity_Speed Timer_Fallen = MilliSecs() For Stein.Steintyp = Each Steintyp ;Stein Fällt wen Luft unter dem Stein ist.(+Gravity Timer) If SteinX = SpielerX And SteinY+1 = SpielerY ;### STEHT SPIELER UNTER STEIN DANN MACH NIX...AUSSER If Steinfalling= True Then ; HIER FUNKTION DIE BEIM AUFPRALL PASSIERT EINFÜGEN!!!!! ;### WENN STEIN GERADE AM FALLEN IST ... BOOOOM Else ;### ANDERNFALLS Steinfalling=False ;### ERSTMAL FALLING AUF FALSE SETZEN If map(SteinX,SteinY+1) = 1 map(SteinX,SteinY) = 1 map(SteinX,SteinY+1) = 3 SteinY = SteinY +1 Steinfalling = True ;### STEIN BEGINNT ZU FALLEN, ALSO FALLING = TRUE End If EndIf ;Stein rutscht auf Stein und nach Links wen dort Luft ist.(+Gravity +Timer) If map(SteinX-1,SteinY) = 1 If map(SteinX-1,SteinY+1) = 1 If SteinX-1 = SpielerX ;X Daten If (SteinY = SpielerY-1) Or (SteinY = SpielerY);Y Daten Else map(SteinX,SteinY) = 1 map(SteinX-1,SteinY) = 3 SteinX = SteinX -1 End If Else map(SteinX,SteinY) = 1 map(SteinX-1,SteinY) = 3 SteinX = SteinX -1 End If End If End If ;Stein rutscht auf Stein und nach Rechts wen dort Luft ist.(+Gravity +Timer) If map(SteinX+1,SteinY) = 1 If map(SteinX+1,SteinY+1) = 1 If SteinX+1 = SpielerX ;X Daten If (SteinY = SpielerY-1) Or (SteinY = SpielerY) ;YDaten Else If map(SteinX,SteinY+1) map(SteinX,SteinY) = 1 map(SteinX+1,SteinY) = 3 SteinX = SteinX +1 End If End If Else If map(SteinX,SteinY+1) map(SteinX,SteinY) = 1 map(SteinX+1,SteinY) = 3 SteinX = SteinX +1 End If End If End If End If ;Steine Rollen auf Steinboden nach Links If map(SteinX,SteinY+1) = 3 Else If map(SteinX-1,SteinY+1) = 4 Else If SteinX-1 = SpielerX ;X Daten Else If (SteinY = SpielerY-1) Or (SteinY = SpielerY);Y Daten Else If map(SteinX,SteinY+1) = 4 If map(SteinX-1,SteinY) = 1 map(SteinX,SteinY) = 1 map(SteinX-1,SteinY) = 3 SteinX = SteinX -1 End If End If End If End If End If End If ;Steine Rollen auf Steinboden nach Rechts If map(SteinX,SteinY+1) = 3 Else If map(SteinX+1,SteinY+1) = 4 Else If SteinX+1 = SpielerX ;X Daten Else If (SteinY = SpielerY-1) Or (SteinY = SpielerY);Y Daten Else If map(SteinX,SteinY+1) = 4 If map(SteinX+1,SteinY) = 1 map(SteinX,SteinY) = 1 map(SteinX+1,SteinY) = 3 SteinX = SteinX +1 End If End If End If End If End If End If Next End If For Stein.Steintyp = Each Steintyp ;Stein Schieben Funktion If KeyDown(205) ;Rechts Schieben If SpielerX+1 = SteinX If SpielerY = SteinY If map(SteinX+1,SteinY) = 1 map(SteinX,SteinY) = 1 map(SteinX+1,SteinY) = 3 SteinX = SteinX +1 End If End If End If End If If KeyDown(203) ;Links Schieben If SpielerX-1 = SteinX If SpielerY = SteinY If map(SteinX-1,SteinY) = 1 map(SteinX,SteinY) = 1 map(SteinX-1,SteinY) = 3 SteinX = SteinX -1 End If End If End If End If Next End Function Die Fehlerzeile ist folgender Absatz: Code: [AUSKLAPPEN] ;Steine Rollen auf Steinboden nach Rechts
If map(SteinX,SteinY+1) = 3 Else If map(SteinX+1,SteinY+1) = 4 Else If SteinX+1 = SpielerX ;X Daten Else If (SteinY = SpielerY-1) Or (SteinY = SpielerY);Y Daten Else If map(SteinX,SteinY+1) = 4 If map(SteinX+1,SteinY) = 1 map(SteinX,SteinY) = 1 map(SteinX+1,SteinY) = 3 SteinX = SteinX +1 End If End If End If End If End If End If Next End If Vorletzte Zeile, "Next" wird als Fehler angepriesen. wie erwähnt next without for. Wo genau sitzt der Fehler?. Bin für jede hilfe dankbar. lg |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau ob Du für jedes if ein endif hast, für jedes While ein wend ... etc.. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Belion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Fehler gefunden.
Danke dir. Habs wohl irgendwie übersehen, aber es klappt. War ein endif zuwenig, an einer bestimmten Stelle. |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Solche Fehler entstehen aufgrund Spaghetticode. In deinem Fall vermeidest du den mit And![]() ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group