1 / 7
文档名称:

C语言的迷宫游戏.doc

格式:doc   页数:7
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言的迷宫游戏.doc

上传人:n22x33 2012/10/24 文件大小:0 KB

下载得到文件列表

C语言的迷宫游戏.doc

文档介绍

文档介绍:嗯... 其实也没啥... 随便敲了一段程序..
先上效果图:
其实随机化 Kruskal 来搞迷宫程序也是很正常..
相比 DFS 这种危险的东西而言要好得多了..
/* ----------------------------------------------
就是求一个随机生成树的问题..
思路就是:
假如把每个空格看成一个点. 空格与空格之间的墙壁看成一条边.
那么初始的迷宫就是一个无向图 G = <V , E>
然后我要使得入口和出口要联通.
相当于去搞一个图G 的导出子图, 使得子图中的顶点 E 和顶点 S 是联通的.
有点算法功底的人应该想到对于DFS这种东西...实在是害怕栈溢出... 你有本事就改成非递归形式.. 但估计没人有本事. 还不如用生成树的思路做.
算法步骤:
1)随机选择 G 中的一条边 e ∈ E , 判断 e 连接的两个顶点是否在同一集盒,
如果不是, 将两个顶点所在集盒合并, 并且把墙擦掉;
反之, 进入 2)
2) E = E - {e} ; //从边集中去掉元素 e
3) 如果 E = Φ(空集) , 结束算法; 反之, 转到 1)
这其中的判断两个顶点在同一集盒以及将两顶点合并如果要高效率的操作的话.
仅仅用线性表是肯定会**的.. 这里用数据结构里常用的树来存储.
即所谓的 UFS(Union_Find_Set) 并查集.
这个数据结构我已经手写成了类, 放在了源代码中.
还有迷宫地图相关的操作函数以及变量全部放在了命名空间 Maze 中,不然冲突的太严重了.
另外: 命名空间 std 我并没有完全开放, 这也是给新手一种示范。告诉C++初学者,别为了偷懒就随便的全局"using namespace std;" , 大项目中的后果是很坑爹的....
(源代码整理后以图片形式贴出)
///////////// 这帖子在代码全部贴出前尽量别插楼(谢谢大家的配合) /////////////
8
8
最后附上使用的std
std::list
std::pair
std::cin
std::cout
std::endl

最近更新

2024年青海卫生职业技术学院单招综合素质考试.. 40页

2024年青海建筑职业技术学院单招职业技能考试.. 40页

2024年青海民族大学单招职业倾向性考试模拟测.. 39页

2024年青海省海东地区单招职业适应性测试模拟.. 40页

2024年青海省海西蒙古族藏族自治州单招职业倾.. 41页

2024年青海省黄南藏族自治州单招职业倾向性测.. 39页

2024年韶关学院单招职业技能考试模拟测试卷含.. 41页

2024年马鞍山师范高等专科学校单招职业倾向性.. 41页

2024年马鞍山职业技术学院单招职业适应性测试.. 38页

2024年驻马店职业技术学院单招职业技能测试题.. 38页

2024年鹰潭职业技术学院单招职业技能考试题库.. 41页

2024年黄河交通学院单招职业适应性考试题库带.. 38页

2024年黑龙江交通职业技术学院单招职业技能测.. 41页

2024年黑龙江农业经济职业学院单招职业倾向性.. 40页

2024年黑龙江农业职业技术学院单招职业适应性.. 40页

2024年黑龙江建筑职业技术学院单招职业适应性.. 42页

2024年黑龙江生态工程职业学院单招职业适应性.. 40页

2024年黑龙江省单招职业适应性测试题库推荐 40页

2024年黑龙江省大兴安岭地区单招职业适应性测.. 41页

2024年黑龙江省绥化市单招职业适应性测试模拟.. 40页

2024年黑龙江省黑河市单招职业倾向性考试题库.. 42页

2024年黑龙江职业学院单招职业适应性考试模拟.. 38页

2024年黑龙江艺术职业学院单招职业技能测试题.. 39页

2024年黔南民族医学高等专科学校单招职业倾向.. 40页

2024年黔西南民族职业技术学院单招职业技能考.. 40页

2025年万博科技职业学院单招职业倾向性考试模.. 41页

2025年三亚城市职业学院单招职业适应性测试模.. 40页

2025年三峡旅游职业技术学院单招职业适应性测.. 40页

仓管员考试试题及答案 4页

克服花生连作障碍的综合治理措施 9页