Итак, я занимаюсь поиском пути для 2D-игры и сталкиваюсь с некоторыми проблемами, из-за которых реализация A* будет бесконечно зацикливаться, если между двумя точками на карте нет допустимого пути. Вот код, который я использую сейчас:
Итак, я занимаюсь поиском пути для 2D-игры и сталкиваюсь с некоторыми проблемами, из-за которых реализация A* будет бесконечно зацикливаться, если между двумя точками на карте нет допустимого пути. Вот код, который я использую сейчас: [code]public static List getPath(EntityMob start, Vector2 end){ List openList = new ArrayList(); Set closedList = new HashSet();
Vector2 bounds = new Vector2(start.floor.floor_width,start.floor.floor_height); openList.add(new Node(start.getX(),start.getZ())); while(!openList.isEmpty()) { openList.sort(Comparator.comparingInt(n->n.f)); Node current = openList.get(0);