Mam problemy z pisaniem naprawdę słabej taktycznej gry RPG w C ++. Do tej pory mam mapę kafelków 2D i właśnie uruchomiłem algorytm A * oparty na pseudokodzie w wikipedii .
Ale prawdziwe taktyczne gry RPG nie tylko znajdują najlepszą ścieżkę na płaskim samolocie i się tam poruszają. Zazwyczaj mają ograniczone zakresy ruchów i muszą wspinać się w górę lub w dół. Jeśli kiedykolwiek grałeś w Final Fantasy Tactics, miałyby na to wpływ statystyki ruchu i skoku. Tu się zgubiłem. Jak zmienić algorytm A *, aby znalazł najlepszą ścieżkę do celu, ale ścieżka ma tylko tyle płytek? Jak wziąć pod uwagę różnice wysokości i statystyki skoków? Jak wdrożyć przeskakiwanie przez lukę?
Jeśli to pomaga, w tej chwili moja mapa jest reprezentowana przez obiekty Vector of Tile. Każdy kafelek ma wskaźniki do północnego, południowego, wschodniego i zachodniego kafelka, które są ustawione na nullptr, jeśli nie istnieje tam żaden kafelek, na przykład wzdłuż krawędzi mapy lub jeśli kafelek jest ustawiony jako niemożliwy do przejścia.