Seite 1 von 1

2D Tilemap Wegfindung

Verfasst: 26.10.2010 19:37
von NathanielBlack
Guten Abend,

Ich komme mit einer Bitte zu euch. Und zwar programmiere ich gerne kleine Strategiespiele, die eine 2D Tilemap benutzen. Auf der Tilemap gibt es eigentlich immer begehbares und unbegehbares Terrain. Für eine kleine KI brauche ich aber eine Wegfindung. Ich habe mir schon verschiedene Tutorials und Code-Beispiele für den A*-Algorithmus angeschaut, doch es nie geschafft so eine Wegfindung zu schreiben.

Nun habe ich eine Bitte an euch. Wär jemand so lieb und würde mir eine einfach zu handhabende Wegfindung bereit stellen?
Meine Karte ist folgendermaßen aufgebaut:

Code: Alles auswählen

Structure karte
move.b
EndStructure
global Dim karte.karte(10,10)
Weitere Struktur-Felder für die Karte können immer hinzukommen, bis jetzt für das Verständnis nur ein Feld. Wenn "move" = 0 ist, ist es nicht begehbar für Truppen, wenn es 1 ist ist es begehbar.

Könnte mir jemand eine Funktion schreiben, die ich einfach nur ausführen muss und mir die x,y Koordianten für den nächsten Wegpunkt zum Ziel ausgeben kann? Das wäre super. Oder halt ähnlich simpel;)

Ich habe auch schon hier im Forum gesucht, habe aber nicht so recht was brauchbares gefunden.

Mit freundlichen Grüßen und vielen lieben Dank im vorraus,
NathanielBlack

Re: 2D Tilemap Wegfindung

Verfasst: 26.10.2010 20:03
von TomS
http://purebasic.fr/german/viewtopic.ph ... ilit=astar

Der zeigt dir den Weg an. Speicher den Pfad in eine LinkedList. Dann steht im nächsten Element immer das nächste begehbare Tile.

Re: 2D Tilemap Wegfindung

Verfasst: 28.10.2010 14:53
von NathanielBlack
Okay, dankeschön.

Aber wie krieg ich da die Position des nächsten Tiles? Die brauch ich ja für eine LinkedList mit den Elementen;)

Re: 2D Tilemap Wegfindung

Verfasst: 28.10.2010 15:05
von TomS
Der ganze Pfad steht doch schon in der LinkedLists namens Path().
In Zeile 360 wird der Pfad gezeichnet. Da holst du dir einfach die Koordinaten.