为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

走迷宫游戏

2017-09-01 11页 doc 138KB 66阅读

用户头像

is_196623

暂无简介

举报
走迷宫游戏走迷宫游戏 西安建筑科技大学 课程设计(论文) 题 目: 走迷宫游戏 院 (系) 专业班级: 姓 名: 学 号: 指导教师: 2011年 9 月 15 日 西安建筑科技大学课程设计(论文) 目录 一( 问题描述????????????????4 二( 需求分析????????????????4 三( 概要设计????????????????4 四( 详细设计????????????????7 五( 源程序?????????????????11 六( 程序测试????????????????19 七( 使用说...
走迷宫游戏
走迷宫游戏 西安建筑科技大学 课程设计(论文) 目: 走迷宫游戏 院 (系) 专业班级: 姓 名: 学 号: 指导教师: 2011年 9 月 15 日 西安建筑科技大学课程设计(论文) 目录 一( 问题描述????????????????4 二( 需求分析????????????????4 三( 概要设计????????????????4 四( 详细设计????????????????7 五( 源程序?????????????????11 六( 程序测试????????????????19 七( 使用说明????????????????23 八( 课设总结????????????????24 九( 参考文献????????????????24 第2页 共24页 西安建筑科技大学课程设计(论文) 西安建筑科技大学课程设计(论文)任务 专业班级: 计算机0901 学生姓名 指导教师(签名): 一、课程设计(论文)题目 走迷宫游戏:程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。 二、本次课程设计(论文)应达到的目的 数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较的设计。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。 本题目要达到目的:熟练掌握最短路径的算法设计。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 要求: 1、 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动; 2、 迷宫的墙足够结实,老鼠不能穿墙而过; 3、 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败; 4、 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙; 找出走出迷宫的所有路径,以及最短路径。 四、应收集的资料及主要参考文献: 由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上机练习了“线性表”的基本操作。 参考文献: 1. 本年级使用的教材:数据结构与算法分析(C++版)(第二版)影印版 2005.7 2. 数据结构与算法,科学出版社,2005.08;赵文静 祁飞等编著 3. 数据结构-C++语言描述,西安交通大学出版社,1999.01,赵文静编著 五、审核批准意见 教研室主任(签字) 第3页 共24页 西安建筑科技大学课程设计(论文) 走迷宫游戏 一、 问题描述 1.地图要求: 根据要求构造一个迷宫地图,并且是老鼠清晰可见,可用键盘操纵老鼠上下左右移动;有一个窗口显示部分地图,另一个窗口显示全部题图。 2.操作: 老鼠不能穿墙而过,当老鼠到达粮仓提示成功。可以自动找到迷宫的所有路径以及画出最短路径。 二、 需求分析 1.利用mfc可以把迷宫地图以及老鼠形象可变的画出来。 2.需要有墙有路,通过把迷宫地图划分成一个一个小方块,通过一个数组的值来判断是墙是路。(1表示墙0表示路) 3(通过鼠标事件控制老鼠的移动。 4(把每个数组元素对应一个按钮根据点击按钮,改变数组的值从而改变墙和路的转化。 三、概要设计 (1)算法思想 1.地图的画出 利用数组的值来画出地图。 2.寻找最短路径 利用递归对整个数组进行寻找,每一个位置可以走的方向都有4个(上下左右),当数组值为0,改变初始值继续递归,并且把所的路径存在一个maze.txt中。利用一个结构体中的top寻找最短路径。 三、 详细设计 1.布局、操作的大体设计 (1).总体布局设计 一个单文档分割成两个窗口,一个显示部分迷宫地图,一个显示全地图,根据mainframe使两个窗口可以同步。利用键盘事件操作对老鼠。(在这过程中最重要是做到两个窗口同步); 第4页 共24页 西安建筑科技大学课程设计(论文) (2).迷宫地图的绘制 利用四个不同的图片根据上下数组不同的值选择不相同的图片,当老鼠在窗口一定的范围内地图不动老鼠动,超过一定范围老鼠不动地图动。 (3).编辑迷宫地图 把整个地图分割成不同个小方框,每个小方框对应一个数组,每个数组对应一个按钮,通过点击按钮改变对应数组的值。 2.数据结构设计 (1)由于要得到所有路径以及最短路径定义如下结构体: typedef struct { int x;二维数组 int y; int d;方向 }datatype; typedef struct { datatype data[maxsize];//存储每走一步的数组位子以及所走的方向 int top;路径的长度 }seqstack; 3.两个窗口设计 根据不同的作用分割对应不同大小的窗口,并且在全图窗口中画出所有地图,在部分窗口中画出前7行的地图。 4.程序编写图 首先画出一个bmp图片 根据数组initwall()初始化不同的值以及其上下的值在对应的位置画出 对应的图片 把迷宫地图显示在窗口中,并且利用同样的方法在另一个窗口中画出 第5页 共24页 西安建筑科技大学课程设计(论文) 编写DrawMouse()在对应的位置画出老鼠 键盘事件keydown()根据按下的不同的键进行不同的操作到此完成迷宫的现实以及小老 鼠的现实 添加编辑迷宫工具栏编辑onbj()函数对迷宫进行编辑。调用对 话框,并且把每个按钮对应一个数组元素。 编写寻找路劲函数以及声明新的结构体 根据得到的最短路把最短路径画在全图显示中 第6页 共24页 西安建筑科技大学课程设计(论文) 五、源程序: /* 我真诚地保证: 我自己独立地完成了整个程序从分析、设计到编码的全过程。 如果在上述过程中,我遇到了困难而求教于人,那么,我将在程序报告中详细地列举我所遇到的问题,以及别人给我的提示。 在此,我感谢老师同学对我的启发和帮助。下面的报告中,我还会具体地提到他们在各个方法对我的帮助。 我的程序里中凡是引用到其他程序或文档之处,例如教材、课 我都已经在程堂笔记、网上的源代码以及其他参考书上的代码段,序的注释里很清楚地注明了引用的出处。 我从未抄袭过别人的程序,也没有盗用别人的程序,无论是修改式地抄袭还是原封不动地抄袭。 我编写这个程序,从来没有想过要去破坏或妨碍其他计算机系统的正常运转。 <--> 六、程序测试 1.测试方法: 由于程序是mfc不好一步一步进行调试,一般选择对不确定的对象进行messagebox输出。有时出现程序没有错误但运行不了,对有可能出现错误的代码行进行设置断点。 七、使用说明 1.打开程序会出现所示: 第7页 共24页 西安建筑科技大学课程设计(论文) 2.选择文件中加入大图: 3.根据log填写对应信息,选择第几关: 第8页 共24页 西安建筑科技大学课程设计(论文) 4.如果想看全图可以点击载入全图并且把你在log中填写的信息显示在全图下面;就会出现全图根据全图找到粮仓。 第9页 共24页 西安建筑科技大学课程设计(论文) 5.选择路劲点击最短路径就在全图中画出路径,并把所有的路径存在maze.txt中。 第10页 共24页 西安建筑科技大学课程设计(论文) 第11页 共24页 西安建筑科技大学课程设计(论文) 6.点击复杂按钮会再大图中出现地图并且在一定的时间间隔地图不断改变: 八、课设总结 通过这次课设使我对mfc单文档有了工深刻的理解,以及对数据结构也有了更全面的认识,以及对结构体的声明与运用。 并且在这次课设中学会了独立思考以及查阅文档的方法。并且在写程序中遇到问题解决问题的方法。查阅书籍以及上网查询。 并且在这次程序的书写过程中,更好的了解把抽象的问题转化成代码。 总之这次课设让我更好的学习了数据结构与mfc编程为以后的编程积累了知识,也懂得了更多的调试解决问题的方法。 九、参考文献 1. 本年级使用的教材:数据结构与算法分析(C++版)(第二版)影印版 2005.7 2. 数据结构与算法,科学出版社,2005.08;赵文静 祁飞等编著 第12页 共24页 西安建筑科技大学课程设计(论文) 3. 数据结构-C++语言描述,西安交通大学出版社,1999.01,赵文静编著 第13页 共24页
/
本文档为【走迷宫游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索