Füll-funktion bei Tiles

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

m a j o r

Betreff: Füll-funktion bei Tiles

BeitragFr, Nov 12, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo.
Ich arbeite grad an nem Map-Editor und bräuchte mal Hilfe(normal bekomme ich so was selbst hin, aber im Moment kann ich irgendwie net klar denken Wink ).
Ich will eine füll-funktion einsetzen.
Dabei sollen alle Tiles ab Position=X,Y die die id=REPLACEID haben durch Tiles mit der id=ID ersetzt werden, in alle richtungen. Also wie bei Paint der Farbeimer. Hatte schon so ne Idee aber is in die Hose gegangen :/

Daten:

ALLE X,Y POSITIONEN SIND DIE TILENUMMERN. ALSO IST 3,4 das TILE AN POSITION TILESIZE*3,TILESIZE*4

übergebene variablen: x,y,id,replaceid

setz/abruf funktionen: gettile(x,y) liefert Tile an x,y
settile(x,y,id): setzt tile an x,y mit der id=ID

irgendwie muss man jetzt von der start x,y position ein feld hochgehen, eins nach links und rechts und nach unten. wenn da mit gettile() die id=REPLACEID ermittelt wurde,soll mit settile(X,Y,ID) das Tile gesetzt werden, usw das ganze, wäre dankbar für Rat!...
 

Ava

Gast

BeitragFr, Nov 12, 2004 21:38
Antworten mit Zitat
Du schreibst eine Funktion, die in etwa wie folgt arbeitet:

    - an die Funktion werden x, y, ID, replaceID übergeben
    - wenn ID(x, y) <> ID ist return
    - wenn ID(x, y) = ID ist, ID ersetzen und für jedes angrenzende Feld die Funktion erneut aufrufen

Wenn ich da nun keinen groben Denkfehler gemacht habe, müsste sich das Ganze dann selbstständig über die vollständige Fläche ausbreiten und alle IDs ersetzen.


Ich benutze ähnliche Funktionen für mein Pathfinding (um Karten in bestimmte Gebiete zu unterteilen).
 

m a j o r

BeitragSa, Nov 13, 2004 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, vielen Dank, funktioniert wunderbar(ich Idiot habe erst mal 40 Zeilen geschrieben, die die überprüften Felder mit Types 'abstecken' Rolling Eyes )
 

Ava

Gast

BeitragSa, Nov 13, 2004 1:23
Antworten mit Zitat
Freut mich, dass ich Dir helfen konnte! Smile

Lieben Gruss
+ Ava +

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group