Может ли A* Pathing в AndEngine позволить спрайту определять неправильные пути и делать случайный выбор?

В настоящее время я разрабатываю игру Tower Defense для платформы Android с использованием AndEngine. Мои враги (расширенный класс анимированных спрайтов) имеют жестко закодированные пути. Хотелось бы переключиться на что-то получше, где враги сами могут определить, куда идти. Я использую карты TMX. Пожалуйста, обратитесь к следующей карте:

Две шестиугольные плитки являются местами появления врагов. У меня есть 2 вопроса об A* Pathing.

Можно ли в точке A убедиться, что враг не свернет с пути к другому месту возрождения?

Из того, что мне сказали, A* Pathing ищет кратчайшее расстояние, так есть ли способ заставить врага случайным образом выбирать, куда идти в точке B?

Если A* Pathing достаточно для этих тестовых случаев, можете ли вы предоставить мне ссылку на учебник/пример? Я не нашел много помощи через Google.

Если A* Pathing не может этого сделать, какие у меня есть другие варианты?


person Brandon    schedule 24.04.2012    source источник
comment
Запись в википедии содержит полезную информацию и пример кода: en.wikipedia.org/wiki/A *_search_algorithm   -  person Hunter McMillen    schedule 24.04.2012


Ответы (1)


Чтобы использовать A*, вам нужно знать, куда пытается попасть враг. Если вы рандомизируете целевые местоположения врагов между двумя точками выхода справа, они должны работать правильно.

person Russell Zahniser    schedule 24.04.2012
comment
Не знаю, почему я не подумал об этом. Спасибо! Знаете ли вы какие-нибудь хорошие примеры A* для AndEngine? - person Brandon; 24.04.2012
comment
@Brandon Привет, я сейчас борюсь с той же проблемой, ты нашел хороший пример для A *? - person Renier; 17.05.2014
comment
Это было некоторое время назад, когда я написал игру. IIRC, я сделал свою собственную функцию, которая проверяла все возможные пути и случайным образом выбирала между теми, которые заканчивались в конечной точке. Я могу раскопать код, если вы хотите его увидеть. - person Brandon; 28.08.2014