#java #libgdx
#java #libgdx
Вопрос:
Я пытаюсь воссоздать игру Nintendo Advance Wars для школьного проекта. У меня есть основы игры, однако я недоволен тем, как я перемещаю свои юниты. У всех юнитов есть диапазон, который они могут перемещать, например, пехота может перемещаться на 5 пробелов. В настоящее время я перемещаю объекты, просматривая все пробелы в алмазной формации в пределах их диапазона, однако это не учитывает возможность того, что объекты блокируют их путь к пространству.
Например, в текущем методе. Пространство в крайнем левом углу не должно быть доступно.
Как бы я выделил доступные пробелы, не показывая пробелы, заблокированные препятствиями.
Любые примеры или помощь будут оценены.
Комментарии:
1. непонятно, о чем вы спрашиваете. что вы пробовали до сих пор? покажите нам какой-нибудь код!
2. Рассматривали ли вы возможность использования простого DFS / BFS? Должно быть достаточно для описанного вами варианта использования.
3. Вы могли бы создать двунаправленный граф, где узлы представляют собой плитки, а ребра — стоимость перемещения между плитками для этого блока. Начните с местоположения объекта и выполняйте DFS / BFS до тех пор, пока оставшееся движение не станет равным 0, а узлы, которые вы достигли, — это плитки, на которые вы можете перейти
4. Посмотрите алгоритм заполнения потоком. Вероятно, его можно было бы адаптировать для работы с этим.
5. @Tenfour04 я использовал алгоритм заливки потоком, и он отлично сработал, спасибо