- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信 息 工 程 学 院
课程设计报告
课程名称 《数据结构》
课题名称 走迷宫游戏
专 业
班 级
学 号
姓 名
联系方式
指导教师
2015 年 12 月 27 日
目 录
1、数据结构课程设计任务书 1
1.1、题目 1
1.2、要求 1
2、总体设计 1
2.1、设计思路及总体组成框架 1
2.2、操作流程图 2
3、详细设计 5
3.1、程序中所采用的数据结构及存储结构的说明 5
3.2、函数功能模块说明 5
3.3、各函数的调用关系 7
4、调试与测试: 7
4.1、调试方法与步骤: 7
4.2、测试结果的分析与讨论: 8
4.3、测试过程中遇到的主要问题及采取的解决措施: 10
6、源程序清单 10
7、数据结构课程设计总结 14
8、参考文献 14
1、数据结构课程设计任务书
1.程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。
1.2、要求
1) 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;
2) 迷宫的墙足够结实,老鼠不能穿墙而过;
3) 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;
4) 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙;
5) 找出走出迷宫的所有路径。
利用序列化功能实现迷宫地图文件的存盘和读出等功能?
2、总体设计
2.1、思路及总体组成框架1).利用mfc可以把迷宫地图以及老鼠形象可变的导出来。
2).需要有墙有路,通过把迷宫地图划分成一个一个小方块,通过一个数组的值来判断是墙是路。(1表示墙0表示路)
3).利用栈,来存入当前位置,然后判断下一位置,存入栈中 (4).把每个数组元素对应一个按钮根据点击按钮,改变数组的值从而改变墙和路的转化。本程序运用的逻辑结构是线性和存储结构为顺序。之所以采用本结构是因为,迷宫主要用到栈来储存当前位置,和判断下一位置,来入栈。
抽象数据类型线性表的定义如下:
ADT Stack{ 数据对象:D={ai| ai ∈ElemSet,i=1,2,3……,n,n≥0}
数据关系:R1={ai-1,ai| ai-1,ai ∈D,i=1,2,3,……,n}
基本操作:
Initstack(s)
操作结果:构造一个空栈s。
Stackempty(s)
初始条件:栈s已经存在。
操作结果:将s清为空栈。
Push(s,e)
初始条件:栈s已经存在。
操作结果:插入元素e为新的栈顶元素。
Pop(s,e)
初始条件:栈s已经存在,且非空。
操作结果:删除s的栈顶元素,并用e返回其值。
} ADT Stack
根据课程设计题目的功能要求,的组成框图如下:
2.2、流程图
2、模块流程图:
面向对象而非面向工程的程序设计,事件和判断都具有同时性和并发性。
游戏界面显示
3、详细设计
3.1、程序中所采用的数据结构及存储结构的说明
数据类型:结构体,整形数据
输入:按照窗口、菜单提示按鼠标左键
移动老鼠位置,按键盘的上、下、左、右键
输出:可视化迷宫
3.2、开始游戏void CMainFrame::OnStart():开始游戏。void CLabyrinthView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags):小老鼠键盘操。第一个参数表示哪个按键,接受上、下、左、右字符,判断调用哪个小老鼠图片,最后用脚印图片覆盖老鼠图片,达到朝前走,留下脚印的效果。(2)重新开始void CMainFrame::OnSysmap():系统地图。
void CLabyrinthView::OnSelfmap()、void CLabyrinthView::OnLButtonDown(UINT nFlags, CPoint point):绘制地图函数。达到墙变路、路变墙的目的。(3)保存图片void CMainFrame::OnSave():保存地图。(4)载入图片void CMainFrame::OnOpen():载入地图。BOOL CLabyrinthView::OnEraseBkgnd(
文档评论(0)