主要内容
1.迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫。
2.要求查找并理解迷宫生成的算法,并尝试用两种不同的算法来生成随机的迷宫。
3.要求迷宫游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹;系统提示迷宫路径要求基于A*算法实现,输出玩家当前位置到迷宫出口的最优路径。设计交互友好的游戏图形界面。
需解决的问题
迷宫图形界面的显示
随机迷宫生成
“玩家”的移动
迷宫自动寻路
相关知识和方法
1.prime最小生成树算法生成随机型迷宫
1.1 连通图
在图论中,连通图基于连通的概念。在一个无向图 G 中,若从顶点i到顶点j有路径相连(当然从j到i也一定有路径),则称i和j是连通的。如果 G 是有向图,那么连接i和j的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。如果此图是有向图,则称为强连通图(注意:需要双向都有路径)。图的连通性是图的基本性质。
1.2 (最小)生成树
基本释义:
首先定义一个无向连同带权图
G=(V,E,W) w(e)∈W是边e的权 (其中V表示顶点集合,E表示边集,W表示权)
G的一颗生成树T是包含G的所有顶点的树,树中各边的权之和W(T)称为树的权,具有最小权的生成树称为G的最小生成树
实例
G=(V,E,W) ,V={1,