2D - Levelmap ... sich berührende Pads erkennen und ersetzen
Übersicht

![]() |
JPDBetreff: 2D - Levelmap ... sich berührende Pads erkennen und ersetzen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
wenn ich so eine Karte habe, und möchte, dass alle 1sen die sich berühren verschwinden, wie soll ich das am besten machen? Ich hab ne Funktion geschrieben, nur diese lässt teilweiße etwas übrig ... Code: [AUSKLAPPEN] xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x1234 xxxxxxxxxxxxxxxxxxxxxxxx xxxxx x 1xxxxxxxxxxxxxx xxxxx4x xxxxxxx xxxxxxxxxxxxxx xxxxx3x xxxxxxx xxxxxxxxxxxxxx xxxxx2x xxxxxxx xxxxxxxxxxxxxx xxxxx1 xxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxx1x xxxxxxxxxxxxxx xxxxxxxxxxxx2 xxxxxxxxxxxxxx xxxxxxxxxxxx3 xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx11x11xxxxxxxxxxxx xxxxxxxxxxxxx11x11xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Zum Beispiel sollten die 4-er Blöcke mit 1sen ganz unten schon am Spielstart eigentlich verschwinden. Ich hab auch schon soviel probiert wie: Code: [AUSKLAPPEN] ;X-Ebene abtasten if (pad(x,y)=1) and (pad(x+1,y)=1) = 1 then pad(x,y)=0 pad(x,y)=0 endif nur mit dieser Funktion bleiben zum Beispiel bei ungeraden (also 3 1sen) die letzte stehen ... das ist so wie wenn man im Paint ne Fläche füllt ... Ich kenn ja den Fehler: wenn x = x + 1 ist, ist ja das Pad von vorher was mal 1 war jetzt 0 oder ASC(32)! währe für jede Hilfe wirklich dankbar ... mfg JPD |
||
![]() |
JPD |
![]() Antworten mit Zitat ![]() |
---|---|---|
... | ||
![]() |
soli |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst zuerst die ganze Karte abscannen.
Gefunde Felder merkst du dir dann in einem Array oder Type. Und löscht dann erst zum Schluss die entsprechenden Felder. |
||
solitaire |
![]() |
JPD |
![]() Antworten mit Zitat ![]() |
---|---|---|
aha ... mal sehen was sich da machen lässt ... | ||
![]() |
JPD |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] For I = 1 To SCRX For J = 1 To SCRY If found(I,J) = 1 Then padding(I,J) = 0 Next Next hmm ... kaum zu glauben wie einfach es ist ... wenn man die Felder ermittelt hat, diese in der Map im RAM zu ersetzen ... Danke nochmals ... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group