Problem mit meiner Map?
Übersicht

bruce85Betreff: Problem mit meiner Map? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo, also ich arbeite grad an ein Sokoban, wo man Kisten verschiebt, das erste level funktioniert soweit ganz gut, aber wie berechne ich wo die kisten hin sollen?
hier mal die daten von der map: Code: [AUSKLAPPEN] Data 3,3,3,3,3,3,3,3,3,3
Data 3,1,1,3,1,1,1,1,1,3 Data 3,1,1,1,1,2,1,1,1,3 Data 3,1,2,3,1,1,1,3,1,3 Data 3,1,1,1,2,3,3,1,1,3 Data 3,3,3,3,1,2,1,1,1,3 Data 3,0,0,3,1,1,1,2,1,3 Data 3,0,0,1,1,2,1,1,1,3 Data 3,0,0,1,1,1,1,1,1,3 Data 3,3,3,3,3,3,3,3,3,3 ich möchte einfach wenn in der Map keine 0 mehr vorhanden ist, das die Function dann entlassen wird. ich habs mal so Probiert: Code: [AUSKLAPPEN] Function Check()
Return 1 For F_y=0 To 9 For F_x=0 To 9 If Not Spielfeld(F_x,F_y) = 0 Then Return 0 EndIf Next Next End Function aber das funktioniert net so, wisst ihr vieleicht wie ich das machen kann? Danke euch schonmal. Gruss Andreas |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] Function Check() So sollte es gehen. Wenn als erstes ein Return in einer Funktion steht, dann verlässt BB die Funktion schon dort. mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich danke dir, es geht trotzdem net, auch wenn keine 0 mehr dabei ist, wird trotzdem das gleiche ausgeführt:
Code: [AUSKLAPPEN] If Check() Then
Color 128,0,0 Text 200,200,"Level geschaft!" Else Color 128,0,0 Text 200,200,"Level nicht geschaft!" EndIf es erscheint immer die Meldung "Level nicht geschaft!" gibt es vieleicht eine andere Methode wie ich überprüfen kann ob Feld 0 noch gibts? Gruss Andreas |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deine Funktion macht auch das: Wenn es ein Feld gibt, welches nicht 0 ist wird die Funktion den Wert 0 zurück geben.
Wie ich sehe gibt es immer Felder die nicht 0 sind, deshalb wird auch immer der Wert 0 zurückgegeben. Du brauchst eine Funktion die 0 zurückgibt, wenn ein Feld den Wert 0 hat und ansonsten eine 1. IMHO. |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Och Der Hase, lieb gemeint aber er fragt doch sowieso gleich nach
dem Code. Um den vorzubeugen. Code: [AUSKLAPPEN] Function Check()
Local F_x:Int Local F_y:Int For F_x=0 To 9 For F_y=0 To 9 If Spielfeld(F_x,F_y)=0 Then Return 0 EndIf Next Next Return 1 End Function Unglaublich aber wahr, um die Übersichtlichkeit zu erhöhen und diesen Code gebräuchlichen Standards anzupassen fängt man mit immer mit X an!!! (AbdR) IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wollte auch erst den Code schreiben, aber ich dacht mir, sowas sollte gar nicht erst zur gewohnheit werde ![]() |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich danke dir IMurDOOM
man sollte aber mit Y anfangen, ansonsten stimmt die ganze map nicht, ich habs schon x mal ausprobiert mit x als erstes. Naja, ich werds dann mal ausprobieren ![]() Gruss Andreas |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Von Danke hab ich den ganzen keller voll, ich will Bares ![]() IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group