我有一个简单的游戏,我试图找到两点之间的最短路线
该地图由二维数组组成matrix: Node[][],
class Node{
index: {
x: number,
y: number
},
isAvailable: boolean
}
Run Code Online (Sandbox Code Playgroud)
该算法应返回关于节点可用性的最短路径。
例如,树被标记为不可用node.isAvailable = false
我一直致力于实现这个矩阵的算法
我尝试从这里使用Dijkstras算法,但我不知道如何应用它,我做到了
const graph = new Dijkstra();
//convert the matrix (2d array) to graph
matrix.map((row) => {
row.map((node: Node) => {
let x = node.index.x;
let y = node.index.y;
graph.addVertex(x + ":" + y, {x: x, y: y});
});
});
console.log(graph.shortestPath('0:0', '5:5'));
//the output was ['0:0'] (definitly not the answer)
Run Code Online (Sandbox Code Playgroud)
如何将该算法应用于该矩阵?
PS这是我的完整代码