1、 数据结构课程设计报告数据结构课程设计报告 完成日期:2012-6 题目名称: 走迷宫游戏 专业班级: 学生姓名: 学生学号: 指导教师: 目目 录录 1 课程设计的目的 3 1.1 课程设计的目的: 3 1.2 课程设计的题目:走迷宫游戏 . 3 1.3 题目要求: . 3 2 课程设计的实验报告内容: 3 3 课程设计的原程序代码: . 错误错误!未定义书签。未定义书签。 4 运行结果: 15 5. 课程设计总结课程设计总结 17 6 参考书目: 18 1 课程设计的目的课程设计的目的 1.1 课程设计的目的课程设计的目的 数据结构是实践性很强的课程。 课程设计是加强我们实践能力的一个强有
2、力手 段。在完成程序设计的同时能够写出比较规范的设计报告,这样对于我们对基本 程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。 1.2 课程设计的题目课程设计的题目 走迷宫游戏走迷宫游戏 1.3 题目要求题目要求 1) 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动; 2) 迷宫的墙足够结实,老鼠不能穿墙而过; 3) 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示 失败; 4) 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙; 5) 找出走出迷宫的所有路径,以及最短路径。 2 概要设计概要设计 2.1 存储结构存储结构 基本抽象数据类型:建立堆栈存
3、储结构 Struct step int x,y,n; /整形(注:基本数据类型,步子行、列坐标、行走步数) Char *maze /字符数组(注:定义一个动态空间迷宫) Int hang,lie; /整型(注:输入迷宫的行、列数) Int s; /整型(注:用于控制是否重新进入运行程序) 2.2 基本操作基本操作 1)改变迷宫形状模块: Void change(char *maze,int hang,int lie) /输入迷宫地图,输出形状改变后迷宫。 2)单步输出模块 void step_to_step (char *maze,step *step,int hang,int lie,int
4、 n) /输入迷宫地图,输出单步行走步法。 3)输出路径模块 void out (char *maze,int hang,int lie,int i,int j) /输入迷宫地图,整体输出行走路径。 4)判断行走路径模块 void cure (char *maze,int hang,int lie) /输入迷宫地图,输出每一步行走步法。 5)主程序模块 int main() 3 详细设计详细设计 3.1 流程图流程图 主程序流程图 系统结构图 走迷宫游戏 主程序 输 入 用 户 自 定 义 迷 宫 输 出 迷 宫 判 断 每 一 步 所 走 路 径 输 出 整 个 路 径 改 变 迷 宫 形
5、状 单 步 输 出 退 出 系 统 子流程图 1) 改变迷宫形状模块 Change() 输出改变的迷宫 Mazeij=1 i+;j+ mazeij=1 Mazeij=1 i+;j+ 真 假 1) 单步输出路径模块: 2) 3) 4) 5) 6) 7) 8) 9) 10) 3) 输出整体路径模块: Stepk.x= =i struct step /定义一个栈 int x,y,n; /x,y 表示步子坐标,n 表示步数 ; void change(char *maze,int hang,int lie) /改变迷宫的样子,便于观察单步行走过程 for(int i=0;iQ; coutQ; cout
6、hang; coutmazeij; if(maze11=1) /入口是墙 coutmazeij; for(i=0;is; if(s=1) coutQ; couthang; coutmazeij; if(maze11=1) coutmazeij; for(i=0;is; else cout“走迷宫游戏结束! “endl; return 0; 4 测试测试 1)进入“走迷宫游戏” 2)第一次测试,输入迷宫行列数和一个无通路迷宫,运行结果如下: 3)第二次测试,输入有通路迷宫,运行结果如下: 4)选择单步运行,运行结果如下: 5 课程设计总结课程设计总结 数据结构”是计算机科学与技术专业一门十分重要的专业技