Я заплутався з написанням дійсно поганої тактичної RPG в C ++. Поки що у мене є 2D карта плиток, і щойно я отримав алгоритм A *, який працює на основі псевдокоду у вікіпедії .
Але справжні тактичні РПГ не просто знаходять найкращий шлях на плоскій площині і рухаються туди. Зазвичай вони мають обмежений діапазон переміщення і повинні підніматися вгору або вниз. Якщо ви коли-небудь грали у Final Fantasy Tactics, на них впливали б статистики Move and Jump. Тут я заблукаю. Як я можу змінити алгоритм A *, щоб він знайшов найкращий шлях до цілі, але шлях має лише стільки плиток? Як слід брати до уваги перепади висоти та статистику стрибків? Як здійснити стрибки через проміжок?
Якщо це допомагає, зараз моя карта представлена вектором об'єктів плитки. Кожна плитка має вказівники на плитку Північ, Південь, Схід та Захід, які встановлюються на нульптр, якщо там немає жодної плитки, наприклад, уздовж краю карти або якщо плитка встановлена на непрохідний.