javascript 使用迪杰斯特拉算法( dijkstra )完成 n*m 网格中2点的寻路
灰色的格子表示可以走,距离为1,黑色的格子表示墙,不能走,距离在 graph 结构中不体现,等效于无穷大。当然我们还可以设置为地雷,当你是普通用户时,距离为10000,表示及不好走,如果购买了飞行装备,则距离为1,这样看来,游戏中的寻路算法也不是很难了,当然如果把迪杰斯特拉算法直接拿来用的情况下,是的。遍历每个格子,对于每个格子,最多可以有4个可达的其他格子( 需要排除掉超越边界的格子和障碍物的格子 ),所以可以让程序扫描一遍即可生成,代码中的 initGraph 方法即是用来初始化 graph 的。
原创
2023-11-01 11:04:51 ·
674 阅读 ·
0 评论