Сейчас я работаю над игрой и столкнулся с небольшой проблемой.
Я работаю над алгоритмом, который создаст путь, по которому ИИ-персонажи будут следовать в игре. Это приключенческая игра с видом сверху, и ИИ выберет случайное место на карте 50 на 50, а затем выберет кратчайший путь, принимая во внимание препятствия.
Изначально у меня было так, что ИИ будет использовать 0-3, чтобы определить, как двигаться. Если это 0, они перемещаются вверх, 1, вправо и т. д. Теперь я пытаюсь использовать алгоритм A * для создания списка ходов. Как только они прибудут, они выберут новый пункт назначения, и процесс повторится.
У меня проблема с хранением квадратов. Насколько я понимаю, вам нужен закрытый список и открытый список. Я планировал использовать для них связанные списки, а затем, в конечном итоге, использовать третий связанный список, в котором хранится путь, по которому нужно следовать.
Проблема в том, что мне нужно хранить координаты x и y. Я думал, что могу просто использовать два списка для каждого, но это кажется неэффективным.
Кстати, я использую Java для программирования.