Здесь ситуация.
У меня есть гексагональная доска, и юнит на ней, со скоростью или значением перемещения 4. Различная местность имеет разные затраты. Когда я нажимаю на юнит, игра должна показывать мне диапазон хода.
Мое решение состояло в том, чтобы проверять каждый гекс в диапазоне 4, используя A * pathfinding, и если стоимость пути была меньше 4, тогда этот гекс находился в диапазоне. Наконец, игра хорошо показывает мне диапазон этого отряда.
Мой вопрос: есть ли другое решение для поиска диапазона по гекс-сеткам или квадратной сетке, потому что даже если я действительно горжусь тем, что я сделал в своем решении, я думаю, это немного преувеличено? :))
Что заставило меня задать этот вопрос? Я заметил, что когда единичная скорость равна 4, 6 или даже 8, время вычисления диапазона для моего компьютера было действительно хорошим, но когда скорость составляла 10 и более, я заметил, что мне нужно подождать несколько секунд, чтобы вычислить Ну, в реальных играх я не вижу ничего подобного, и мой A * pathfinding довольно хорошо оптимизирован, так что я думаю, что мое решение неверно.
Спасибо за любые ответы.