Я использую PathFinding.js пакет .Мой код:
var grid = new PF.Grid(6, 6);
grid.setWalkableAt(0, 1, false);
grid.setWalkableAt(1, 1, false);
grid.setWalkableAt(2, 1, false);
grid.setWalkableAt(3, 1, false);
grid.setWalkableAt(4, 1, false);
grid.setWalkableAt(1, 2, false);
grid.setWalkableAt(0, 3, false);
grid.setWalkableAt(1, 3, false);
var finder = new PF.AStarFinder();
var path1 = finder.findPath(0, 0, 2, 2, grid);
var path2 = finder.findPath(0, 0, 0, 2, grid);
var path3 = finder.findPath(0, 0, 5, 0, grid);
console.log(path1.length)
console.log(path2.length)
console.log(path3.length)
демоверсия codepen
, и это визуализация вышеупомянутой платы:
(но x и y - наоборот, моя ошибка на картинке)
Я проверяю длину пути всех 3 зеленых точек, чтобы проверить, какая из них самая короткая позже.К сожалению, только первый путь имеет правильную длину.Зачем?я не использую правильный пакет?Я следовал за документами по ссылке из 1-й строки этого вопроса.
Не думаю, что это проблема пакета, потому что он широко используется и имеет более 6 тысяч звезд в GH.