2D Tilemap Wegfindung

Anfängerfragen zum Programmieren mit PureBasic.
NathanielBlack
Beiträge: 63
Registriert: 25.12.2009 18:48

2D Tilemap Wegfindung

Beitrag 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
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: 2D Tilemap Wegfindung

Beitrag 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.
NathanielBlack
Beiträge: 63
Registriert: 25.12.2009 18:48

Re: 2D Tilemap Wegfindung

Beitrag 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;)
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: 2D Tilemap Wegfindung

Beitrag 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.
Antworten