《迷宫》
数据结构程序设计报告
专 业: 计算机科学与技术 班 级: 计算机科学与技术1班 姓 名:
指导教师:
二○○八 年 六 月 二十七 日
目 录
1.设计的任务…………………………………………………1 2.对问题的分析理解…………………………………………1 3.采用的算法(流程图)……………………………………2 4.算法中涉及的知识点………………………………………2 5.设计用的计算机环境………………………………………3 6.结论…………………………………………………………3 7.源代码………………………………………………………3 8.参考文献……………………………………………………13
1. 设计的任务
随机生成迷宫,显示迷宫图。从键盘输入得到一个字符,如果是1则人工探索。否则系统自动从下标1,1的地方开始搜索。 2. 对问题的分析理解
一,问题要求根据输入的不同字符,以不同的搜索方式进行搜索。所以定义PeopleFind()人工搜索和FindWay()自动搜索两个函数。人工查找的初始位置为(1,1)。D,A,W,X,Q,E,Z,C分别代表右,左,上,下,左上,右上,左下,右下八个方向键。自动搜索则按照右下,下,右,上,右上,左下,左,左上的先后顺序进行搜索。
二,首先根据屏幕上的提示选择搜索方式。然后初始化屏幕,随机生成迷宫并显示在屏幕上。按照指定的搜索方式进行查找,找到通路则在屏幕上显示Find a way!反之则显示Not find a way!最后关闭图形。
3.采用的算法(流程图)
开始 选择搜索方式 显示迷宫 是 输入是1 否 人工搜索 自动搜索 是 搜索成功 否 Find a way! Not find a way! 退出关闭图形
4.算法中涉及的知识点 4.1 函数调用 4.2 二维数组的搜索 4.3 输入函数 4.4 输出函数
4.5 图形文件库 4.6 随机文件库 4.7 switch语句 4.8 while语句 4.9 if else语句 4.10 for语句
4.11 各种语句的嵌套调用 5.设计用的计算机环境 5.1 IBM兼容器一台 5.2 tubro c 3.0 6.结论
在这次设计中,首先,我发现了很多问题,由于自己基本的语句掌握的不是十分熟练,所以在一开始不知道怎样把松散的函数调用紧凑地联系起来,经过仔细的看书以及向同学请教,终于将基本框架搭好,在调整细节时就相对轻松一些了,所以经过这次课程设计,我总结出了自己在学习数据结构中的不足,并且为其他类似语言打下了良好的基础,十分感谢老师以及同学的帮助,在此过程中还锻炼了我们与别人沟通的能力,使我们受益匪浅。 7.源代码
#include
int way[100][2],wayn=0; void Init(void); void Close(void);
void DrawPeople(int *x,int *y,int n); void PeopleFind(int (*x)[N]);