计算机软件实习之迷宫

基于A*算法自动寻路迷

项目准备

实现迷宫游戏的开发,需要分别实现迷宫的自动生成自动寻找最短路径,对于每次一个的游戏开始都需要生成不同的迷宫地图,并且针对同意一难度下的迷宫,每次生成的地图都必须是不一样的

迷宫生成算法

首先,迷宫生成算法主要有以下三种

1.Recursive backtracker ( 递归回溯,也是深度优先算法)

2.Randomized Prim’s algorithm(随机Prim算法,让我想起了最小生成树的Prim算法)

3.Recursive division (递归分割算法)

而我们在这里主要使用的迷宫生成算法是深度优先算法,即深度优先遍历,直到撞到四周判断走不了时,在返回沿着下一跳路径继续寻找。初始地图如下图所示:

计算机软件实习之迷宫

在可走的路径之上,将白色方块设置成和黄色方块一样的属性即表示可走。

深度优先遍历算法的具体实现,如下所示:

注: 对于相同游戏难度下,每一次迷宫的生成不同的原因在于,如下代码:

	int dxdy[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};	来源:梦年
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月19日
下一篇 2020年11月19日

相关推荐