实验系列目录
计算器;贪吃蛇;基于A*算法的迷宫开发
前言
新一周,新的实验任务。迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫。
一、需求分析
迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫。
要求游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹;系统走迷宫路径要求基于A*算法实现,输出走迷宫的最优路径并显示。
设计交互友好的游戏图形界面。
二、迷宫地图分类
1.自然分叉型
第一种方法就是比较好理解的深度优先遍历算法(DFS),可以按照下图这样理解:
所以,访问次序就是下图这样:
因此,迷宫生成策略:利用深度遍历的思想。访问到一个节点时,搜索这个节点没有被访问过的相邻节点,选择一个继续做同样的操作,直到没有邻节点为止再回溯到上一个访问的节点,并选择另外的邻节点。
具体参考如下:
2.块状分割型
当然,上面的迷宫生成算法所生成的迷宫有点简单,主路比较明显。下面,我们将介绍第二种方法,随机性迷宫,也就是利用prime算法。
算法理解分解如下:
当然,还有更多更复杂的算法生成更复杂的迷宫,在这里就不做过多介绍了。主要是本人知识理解也有限,最后附上迷宫项目的大体完成步骤吧。
总结
基于A*算法搜索迷宫路径的大概预习知识就是这样啦~