一、实验目的
1、迷宫游戏是非常经典的游戏,在该题中要求随机生成一一个迷宫,并求解迷宫;
2、要求查找并理解迷宫生成的算法,并尝试用两种不同的算法来生成随机的迷宫;
3、要求迷宫游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹;系统提示迷宫路径要求基于A*算法实现,输出玩家当前位置到迷宫出口的最优路径。设计交互友好的游戏图形界面。
二、实验难点
1、如何生成随机的迷宫
本实验采用深度优先遍历(DFS)
可以这样描述深度遍历:
①访问顶点v;
②从v的未被访问的邻接点中选取一个顶点w,重复第一步,如果v没有未访问的邻接点,回溯至上一顶点;
③重复上述两步,直至图中所有和v有路径相通的顶点都被访问到。
将这些节点放到迷宫这样的矩阵图里,把这些节点全部遍历,就会在任意两个节点之间形成一个通路。
整理思路:在遍历过程中将遍历路径通路节点之间的墙“抹掉”-换成空白的格子,即打通为通路,这样就可以找到一条路。
2、对于A*算法的理解
在计算机科学中,A*算法作为Dijkstra(迪杰斯特拉)算法的扩展,是一种静态路网中求解最短