高级语言课程设计——迷宫实验报告

高级语言课程设计——迷宫实验报告

ID:26230234

大小:345.00 KB

页数:28页

时间:2018-11-25

高级语言课程设计——迷宫实验报告_第1页
高级语言课程设计——迷宫实验报告_第2页
高级语言课程设计——迷宫实验报告_第3页
高级语言课程设计——迷宫实验报告_第4页
高级语言课程设计——迷宫实验报告_第5页
资源描述:

《高级语言课程设计——迷宫实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、山东中医药大学理工学院课程设计报告课程名称:高级语言课程设计课程代码:07300561设计内容:迷宫二0一二年12月15日28目录1.系统简介32.设计分析32.1需要分析32.2功能设计组织图32.3界面介绍33.详细内部实现介绍33.1类.h33.2成员函数33.2主函数.cpp34.按钮和图标功能实现过程35.系统总结35.1系统缺点35.2系统有点3`28一.系统简介软件类型:应用软件运行平台:MFC界面设计目的:通过课程设计,巩固所学理论知识,培养综合运用所学知识解决实际问题的能力。能根据实际问题的具体情况结合数据结构课程中的基本理论和基本方法,正

2、确分析出数据的逻辑结构,合理选择相应的存储结构,并能设计出解决实际问题的有效算法。系统特色:⑴具有高度的容错机制,不会因小的失误造成死循环。⑵可以对程序运行时进行开始与暂停的控制。⑶错误报警机制可以提醒用户进行正确的操作。⑷界面友好简洁游戏者可以快速进入游戏状态。二.设计分析一.需要分析1.本程序中,在迷宫中求出从入口到出口的路径。一个简单的求解方法是:从入口出发,沿某一方向进行探索,若能走通,则继续向前走;若不能走通则返回再继续查找路径,直到走完整个过程为止。2.计算机解迷宫时,算法中应用“栈”的思想。3.程序执行的命令包括:(1).构造迷宫数组。可以将迷

3、宫定义成一个二维数组,其中元素值为1表示有障碍物,元素值为0表示没有障碍。为了表示四周的围墙,二维数组四周的数组元素均为1,如图所示,其中双边矩形表示迷宫,前进的方向有4个,分别是上、下、左、右。入口(1,1)28012345678911111111111001101111000111101000001011101111000011001100110111111111111111111111(2).构造路径4.测试数据迷宫的测试数据如下:左上角(1,1)为入口,右下角(18,18)为出口。voidCreateMaze()//创建迷宫{intcmaze[20]

4、[20]={28{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},{1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},{1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},{1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1},{1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1},{1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,0,0

5、,1,1,1,1,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1},{1,1,1,1,1

6、,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

7、},};memcpy(maze,cmaze,sizeof(maze));28maze[1][1]=0;//入口maze[MAX_X-2][MAX_Y-2]=0;//出口maze[0][1]=NOW;maze[MAX_X-1][MAX_Y-2]=0;}}二.功能设计组织图入栈操作的实现开始:创建结点Structnode判断结点建指针是否为NULL是否进行结点指针与头指针head交换,具体操作如下:new_node->next=head;head=new_node;进行复制操作,然后置结点地址域为NULL,操作如下:new_node->x=a;new_node-

8、>y=b;new_node->direction=d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。