PathFinding.js: 基于JavaScript的开源智能寻路算法库
在线演示: [http://qiao.github.io/PathFinding.js/visual/](http://qiao.github.io/PathFinding.js/visual/)
可以同时在Node.JS和浏览器中使用,
通过传入一个二维路径数组, 然后选择合适算法自动规划出最佳路径。
使用示例,定义一个地图:
```
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种寻路算法
1. AStarFinder
2. _BreadthFirstFinder_
3. BestFirstFinder
4. DijkstraFinder
5. _BiAStarFinder_
6. _BiBestFirstFinder_
7. _BiDijkstraFinder_
8. BiBreadthFirstFinder
9. _JumpPointFinder_
10. OrthogonalJumpPointFinder *
11. 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 ] ]
```
此软件基于MIT协议,更多用法请查看项目地址。
Github: [https://github.com/qiao/PathFinding.js](https://github.com/qiao/PathFinding.js)