游戏里面的路径规划问题
从广度优先到dijkstra再到A*再到JPS(下章出),可以说是层层递进了
前言
可以说游戏里面的路径规划这个问题是相当成熟了,但也是相当重要的,众多博客网上有很多的解决方案,首先感谢众多大佬的分享,我才能如此快的学会。
一、广度优先算法
无方向无优先性的纯遍历算法
0.描述
如果想要找到所有位置的路径且移动成本都是一样的,使用广度优先算法。
1.过程
从地图上任意一点S到其他所有可达点的最短路径,考虑上下左右四个所有方向行走的情况
openQueue存放即将搜索的结点,closeQueue存放已经搜索完后的结点
- 设定搜索起点S,放入openQueue中;
- 判断openQueue是否为空,若为空,搜索结束;若不为空,拿出openQueue中的第一个节点A;
- 遍历A的上下左右四个相邻节点N1-N4。
- 对每个节点Ni,判断节点A是不是目标节点E,如果是,搜索成功,获取节点A的父节点,并递归这一