search是AStar类的一个方法,它用于在图形化的网格地图上执行A*搜索算法,以查找最短路径。
const astar = new AStar(grid, options);
astar.search(startNode, endNode);
grid:二维数组类型的网格地图,其中:
0 表示可以通过的节点。0 的数字表示不可通过的节点(障碍物、墙壁等等)options:可选参数,包括:
allowDiagonal:是否允许斜着移动,默认为 false。cutCorners:当斜着移动时,是否允许拐角,默认为 false。heuristic:启发式函数,用于判断节点间的距离,默认为曼哈顿距离。startNode:起点节点,格式为 {x: number, y: number}。endNode:终点节点,格式同上。方法将返回一个数组,表示经过的节点序列,其中第1个元素为起点,最后一个元素为终点。
若无法找到终点,则返回一个空数组。
startNode 和 endNode 应该都在地图内。0 的数字标记它们。