Ich spiele damit herum, ein wirklich schlechtes taktisches Rollenspiel in C ++ zu schreiben. Bisher besitze ich eine 2D-Kachelkarte und habe gerade den A * -Algorithmus basierend auf dem Pseudocode in der Wikipedia in Betrieb genommen .
Aber echte taktische RPGs finden nicht nur den besten Weg in einem flachen Flugzeug und bewegen sich dorthin. Sie haben normalerweise begrenzte Bewegungsbereiche und müssen nach oben oder unten klettern. Wenn Sie jemals Final Fantasy Tactics gespielt haben, sind diese von den Statistiken "Bewegen" und "Springen" betroffen. Hier verliere ich mich. Wie ändere ich den A * -Algorithmus so, dass er den besten Pfad zu einem Ziel findet, der Pfad jedoch nur so viele Kacheln lang ist? Wie soll ich Höhenunterschiede und Sprungwerte berücksichtigen? Wie implementiere ich das Springen über eine Lücke?
Wenn es hilft, wird meine Karte jetzt durch einen Vektor von Kachelobjekten dargestellt. Jede Kachel hat Zeiger auf die Kacheln Nord, Süd, Ost und West, die auf Null gesetzt werden, wenn dort keine Kachel vorhanden ist, z.