- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 5
1
课程设计报告
课程名称: 数据结构
报告题目: 迷宫求解
学生姓名: 赵XX
所在学院: 信息科学与工程
专业班级: 软件工程1603
学生学号:XXXXXXXXXXX
指导教师: XXX
2017 年 12 月 29 日
课程设计任务书
报告题目
迷宫求解程序设计
完成时间
2017.12.29
学生姓名
赵光豪
专业
班级
软工1603
指导教师
XXX
职 称
总体设计要求和技术要点
课程设计要求
1.可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
2.在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
工作内容及时间进度安排
第17周:
周1周3 :立题、论证方案设计
周4周5 :完成项目一,项目二的整体设计
第18周:
周1周2:调试程序,解决问题
周3周5 :写实验报告
课程设计成果
1.程序设计内容以及对应的软件程序
2.课程设计总结报告
摘 要
本程序主要是求迷宫中从人口到出口的所有路径是一个经典的程序设计问题。计算机解迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路返回,换一个方向在继续探索,直至所有可能的通路都探索完为止。
当前位置“可通”,则纳入“当前路径”,并继续朝“下一位置”探索,即切换为“下一位置”为“当前位置”,如此重复直至到达出口;若当前位置“不可通”,则应顺着“来的方向”退回到“前一通道块”,若该通道块的四周4个方块均“不可通”则应从当前路径删除该通道块。所谓“下一位置”指的是“当前位置”四周4个方向(东、南、西、北)上相邻的方块。以栈S来记录“当前路径”,则栈顶中存放的是“当前路径上最后一个通道块”。所以即为“当前路径入栈”;“从当前路径上删除前一通道块”为“出栈”。
在这个过程中可以输出迷宫所走通的路径,在这次课程设计中迷宫是由数组预先定义好的,不能由用户定义生成,可以加入随机函数,自动生成二维数组,还可以用户自己输入迷宫。
关键词:栈;存储结构;数组
PAGE 1
目 录TOC \o 1-4 \h \u
一、课题分析 1
二、需求分析 1
1. 主模块功能描述 1
2. 子程序模块设计 1
三、设计方案 1
1.类设计 1
2.程序模块设计 2
设计方案与实施与总体设计思想 2
3. 主模块 3
3.1 子模块 4
3.1 主菜单 5
3.2 功能A模块 5
3.3 功能B模块 5
3.4 功能C模块 6
四、详细设计 7
1.用结构体构建栈 7
2.构建类 7
3.用数组构建一个迷宫 8
4.游戏移动控制指令 9
5.游戏移动控制指令四个方向的实现 10
6.游戏移动过程中若是未找到通路,需要返回的指令 11
7.游戏的主循环 11
8.游戏的开始于结束 12
9.迷宫地图的查看与通关后的路径查询 13
五、设计总结 13
结论与心得 13
五、参考文献 15
PAGE 2
一、课题分析
(1)该题目为迷宫求解。
(2)此课题是对迷宫问题的求解。包括用数组生成迷宫,显示输出路径因此,本程序设计共需设计一个主程序以及若干个子程序。
(3)在本课程设计程序里,主程序主要是以一个m×n的长方形表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对设定的迷宫,求出一条从入口到出口的通路,子程序实现迷宫地图的查看和通过迷宫后的路径查询。
二、需求分析
1. 主模块功能描述
显示提示语句提示用用户选择输入执行的功能。
(1)开始迷宫求解游戏
(2)查询迷宫地图
(3)查询通过迷宫后的路径
2. 子程序模块设计
(1)迷宫求解游戏
输入1开始游戏
(2)查询迷宫地图
在菜单中输入2查看迷宫求解的地图
(3)查询通过迷宫后的路径
输入2查询通关路径
三、设计方案
1.类设计
构建一个Hidding类,并有私有成员:x坐标,y坐标,位置标志,初始方向;共有成员:PrintMap打印地图,GameFunction游戏主循环,
文档评论(0)