Rekursive Suche in einem "Dim"-Feld
Übersicht

GastBetreff: Rekursive Suche in einem "Dim"-Feld |
![]() Antworten mit Zitat |
|
---|---|---|
Ich hoffe mal das es hier richtig ist, und nicht in den B2D Bereich.
Ich programmieren ein KlickerKlacker Klon (So heisst das zumindest auf RTL.de, vll. Kenn ja jemand ChaosBreaker von D2006, gleiches Spielprinziep). Für das Markieren habe ich gedacht, ich mache ein Function Test, die sich selber aufruft. Also so: Code: [AUSKLAPPEN] Function Test(X,Y,Z) ; Nach Oben If Map(X,Y-1,0) = Z Then Map(X,Y-1,1) = 1:Test(X,Y-1,Z) ; Nach Links If Map(X-1,Y,0) = Z Then Map(X-1,Y,1) = 1:Test(X-1,Y,Z) ; Nach Unten If Map(X,Y+1,0) = Z Then Map(X,Y+1,1) = 1:Test(X,Y+1,Z) ; Nach Rechts If Map(X+1,Y,0) = Z Then Map(X+1,Y,1) = 1:Test(X+1,Y,Z) EndIf End Function Schön und gut, nur leider Beendet sich das Programm ohne Fehlermeldung. Falls ich die letzten beiden ausklammere geht es: Code: [AUSKLAPPEN] Function Test(X,Y,Z) ; Nach Oben If Map(X,Y-1,0) = Z Then Map(X,Y-1,1) = 1:Test(X,Y-1,Z) ; Nach Links If Map(X-1,Y,0) = Z Then Map(X-1,Y,1) = 1:Test(X-1,Y,Z) ; Nach Unten If Map(X,Y+1,0) = Z Then Map(X,Y+1,1) = 1;:Test(X,Y+1,Z) ; Nach Rechts If Map(X+1,Y,0) = Z Then Map(X+1,Y,1) = 1;:Test(X+1,Y,Z) EndIf End Function Woran liegt das? PS: Randüberprüfung wird noch gemacht. EDIT Es Lag daran, dass BB es hätte unendlich oft machen müssen. Es hätte das Feld unten Überprüft, festgestellt, dass es gelch ist, also: Testen. Das hätte dazu geführt, dass Test Das Ober Feld geprüft hätte, und so weiter. Da hat BB sich einfach beendet. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group