PathFinding.js 是由JavaScript实现的一个开源智能寻路算法库。

通过传入一个二维路径数组, 然后选择合适算法自动规划出最佳路径。
使用示例,定义一个地图:
var grid = new PF.Grid(5, 3);
//0代表可走,1代表不可走
var matrix = [
[0, 0, 0, 1, 0],
[1, 0, 0, 0, 1],
[0, 0, 1, 0, 0],
];
var grid = new PF.Grid(5, 3, matrix);
支持以下11种寻路算法
- AStarFinder *
- BreadthFirstFinder *
- BestFirstFinder
- DijkstraFinder *
- BiAStarFinder
- BiBestFirstFinder
- BiDijkstraFinder *
- BiBreadthFirstFinder *
- JumpPointFinder *
- OrthogonalJumpPointFinder *
- Trace
比如使用其中一种算法,并找到(1,2) 到 (4, 2)的最佳路径:
var finder = new PF.AStarFinder();
var path = finder.findPath(1, 2, 4, 2, grid);
因此上文定义的的地图所返回的最佳路径为:
[ [ 1, 2 ], [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 3, 2 ], [ 4, 2 ] ]
Github地睛: https://github.com/qiao/PathFinding.js

算法好高端
ddddddddsa