数据库课程设计 走迷宫Word文档下载推荐.docx
- 文档编号:21139814
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:14
- 大小:112.51KB
数据库课程设计 走迷宫Word文档下载推荐.docx
《数据库课程设计 走迷宫Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库课程设计 走迷宫Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
走迷宫游戏的项目设计将大大增加我们对数据结构的兴趣以及对这门课程的深入学习和了解。
二.功能模块及设计过程
1.设计要求:
1)迷宫的墙足够结实,老鼠不能穿墙而过;
2)正确检测结果,若老鼠在能走到粮仓处,提示成功,否则提示失败;
3)老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;
2.函数功能图表:
函数名称
功能
初始化迷宫地图的墙图案老鼠粮仓的图案和刷新屏幕。
init
初始化老鼠坐标和粮仓的坐标,设置窗口大小
show
欢迎界面
process
整的一个进度条,算一个创意吧。
m_up
向上
m_down
向下
m_left
向左
m_right
向右
alert
增强程序健壮性。
play
判断从键盘上接受字符,控制老鼠运动。
3.流程图:
进入开始界面
初始化地图
调用int函数初始化老鼠位置,仓库坐标,窗口大小
调用play函数,控制老鼠前进
操作正常
操作失误
游戏成功
退出
三.测试及运行结果:
⑴.编译中常见错误:
1.字符丢失
①.在编程结束进入编译阶段时我们经常会遇到一些错误。
如上图所示。
最主要的就是字符丢失类的错误。
②.当我们双击提示的错误时,程序界面会出现如上图所示的画面,由于错误提示为:
missing'
;
'
before'
for'
,意思是在for前面的语句中丢失了;
通过检查我们可以看出,printf语句的句尾确实丢失了;
然后我们改正错误。
③.改正完成后我们就会看到如上图所示的界面,这就表示错误已改正,程序可运行。
⑵.运行结果演示
1.首先我们来到程序的开始界面,读功能注释,根据提示按回车键。
2.然后我们来到了载入界面,根据提示再次按回车键进入游戏。
3.接着我们来到了游戏的开始界面,根据开始的功能注释,按w,s,a,d键控制老鼠前进。
4.有时我们会出现操作失误,就会出现如上图所示的错误提示,但是不要灰心,我们可以继续控制老鼠前进。
5.如果一切操作正常,最后会出现如上图所示的游戏成功界面。
然后我们就可以根据开始的功能注释按q键退出游戏。
6.这样我们就来到了游戏的退出界面,再按一次q键就可以真正的退出游戏。
四.总结:
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。
它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。
数据结构有逻辑上的数据结构和物理上的数据结构之分。
逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。
数据结构是数据存在的形式。
数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。
数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。
课程设计对我们而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。
通过课程设计能提高我们对所学知识的综合应用能力,能全面检查并掌握所学内容。
《数据结构》从课程性质上讲是一门专业基础课,它的目的和任务就是训练我们对计算机加工的数据对象进行分析的能力,选择适当的数据结构及相应算法的能力,训练我们的编码以及调试能力,进而增加其对学习和应用相关专业课的兴趣。
通过本课程设计的实践教学,使我们达到以下的基本要求:
(1)掌握数据的基本结构:
线性表、枝、队列、串、数组、树和图等逻辑结构,并给出相应的存贮结构和类型描述。
(2)能根据加工数据对象的特征,选择适当的数据结构、存贮结构及相应算法,初步掌握各种算法在时间和空间的分析技巧。
(3)能够创造性地进行算法设计和程序设计,并且使所设计的程序结构清楚,正确易读,并上机调试通过。
“数据结构”是计算机程序设计的重要理论技术基础,是计算机学科的核心课程,它的课程设计目的是:
学会分析、研究计算机加工的数据结构特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构以及相应的算法,并初步掌握算法时间分析和空间分析的技术。
通过这次数据结构课程设计,让我学到了好多东西。
在实际操作过程中犯了一些错误但经过刘老师的精心指导使我有了意外的收获,所学数据结构理论知识得到了巩固。
通过实际操作,学会数据结构程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
现在终于挨到了写收获与体会的时候了,的确令人兴奋,看看自己的劳动成果,好开心。
一个星期前的现在,当听到刘老师布置给我们的题目时,我们都蒙了,这么难的题目我们怎么会啊,但我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的艰苦,但豁出去了。
上网查资料、去图书馆查,查相关的函数,经过两三天的努力,我把框架弄出来了,可是还有计算难题摆在我的面前,真的是个难题,自从把框架弄好了以后就没有进展了,眼看一个星期快过去了,我那个急啊,可是急也没有用。
我坚持,终于工夫不负有心人,我参照类似程序,改改和添添,终于大功告成,我们欢呼我们雀跃,终于相信我们自己是足够的伟大。
五.参考文献:
书籍:
1.《C语言程序设计(第三版)》,出版社:
高等教育出版社,主编:
廖雷,
出版日期:
2009年6月
2.《数据结构(c语言描述)》,出版社:
中国水利水电出版社,主编:
马秋菊
出版日期:
2006年
《大话数据结构》,出版社:
清华大学出版社,主编,程杰,出版日期:
2011年6月
3.
数据结构自考网:
XX知道
XX文库
六.附录:
#include<
stdio.h>
stdlib.h>
#defineFALSE0
#defineTRUE1
typedefintmazeMap[10][10];
voidprint(mazeMap&
map){
chartag[4][3]={"
█"
"
"
○"
鼠"
};
//龍▓□●○㊣◆◇■□卐
shorti,j;
system("
cls"
);
printf("
\n\n\n\n\t"
for(i=0;
i<
10;
i++){
for(j=0;
j<
j++)
printf("
%s"
tag[map[i][j]]);
printf("
\n\t"
}
}//初始化迷宫地图的墙图案老鼠粮仓的图案和刷新屏幕。
voidinit(mazeMap&
map,short&
curX,short&
curY){
map[5][5]=3;
//出发点
curX=5,curY=5;
map[8][8]=2;
//终点
modecon:
cols=35lines=20"
}//初始化老鼠坐标和粮仓的坐标,设置窗口大小
voidshow(mazeMap&
//charinput;
\n*#*#*#老鼠走迷宫#*#*#*\n\n"
//printf("
\n"
┌─────────────┒\n"
│#※#功能注释#※#┃\n"
│┃\n"
│w→上┃\n"
│s→下┃\n"
│a→左┃\n"
│d→右┃\n"
│q→退出游戏┃\n"
┕━━━━━━━━━━━━━┛\n\n"
\n游戏时请按:
字母+回车操纵老鼠!
\n\n\n"
主人,快按回车进入游戏..\n"
getchar();
print(map);
}//开始界面
voidprocess(mazeMap&
map,shorta_flag,char*flag)//动作标志a_flag:
1:
加载游戏0:
退出游戏
{
charinput;
for(i=1;
=10;
system("
\n\n\n\n\n"
%s:
flag);
┏━━━━━━━━━━┓\n"
┃"
for(j=i;
j>
0;
j--)
▊"
for(j=10-i;
□"
┃\n"
┗━━━━━━━━━━┛\n"
%d0%\n"
i);
//for(k=1000000;
k>
k--);
\n\n"
if(a_flag==1)
主人,载入完毕啦,快按回车键..\n"
elseif(a_flag==0)
主人,你不要我了么?
你这个负心汉..\n"
do{
input=getchar();
if(input=='
\n'
)
break;
else
请您输入回车键..\n"
}while
(1);
//此处过滤用户无效冗余输入,以免影响游戏时的正常输入
if(a_flag!
=0)
print(map);
}//进度条
boolm_up(mazeMap&
if(map[curY-1][curX]==0)
returnFALSE;
map[curY][curX]=1;
curY--;
map[curY][curX]=3;
returnTRUE;
}//向上
boolm_down(mazeMap&
if(map[curY+1][curX]==0)
curY++;
%d,%d\n"
curX,curY);
}//向下
boolm_left(mazeMap&
if(map[curY][curX-1]==0)
curX--;
}//向左
boolm_right(mazeMap&
if(map[curY][curX+1]==0)
curX++;
}//向右
voidalert(boolmove,char*drct,mazeMap&
if(!
move)
\n没看到%s有堵墙在这嘛..\n你这个白痴,瞎指挥...\n疼死我了!
"
drct);
}//提示是否撞墙
voidplay(mazeMap&
boolquitFlag=0;
input=getchar();
switch(input){
case'
:
continue;
i'
show(map);
break;
w'
alert(m_up(map,curX,curY),"
后面"
map);
s'
alert(m_down(map,curX,curY),"
前面"
a'
alert(m_left(map,curX,curY),"
左边"
d'
alert(m_right(map,curX,curY),"
右边"
q'
curX=8;
curY=8;
quitFlag=TRUE;
default:
print(map);
printf("
\n瞎按什么..!
\眼神不好使啊,有说明都搞错..\n\n"
}//switch_input
}while(curX!
=8||curY!
=8);
if(quitFlag)
{
\n你竟然想抛弃我,快点回去...\n\n\n"
else{
\n报告主人,我以被你成功送到了邻居的仓库里.,,\n啊啊啊,开饭啦...\n"
}//运行函数
voidexit(mazeMap&
process(map,0,"
退出游戏"
}
voidmain(){
shortcurX,curY;
//当前用户位置
mazeMapmap={
{0,0,0,0,0,0,0,0,0,0},//0
{0,1,1,0,1,1,1,0,1,0},//1
{0,1,1,0,1,1,1,0,1,0},//2
{0,1,1,1,1,0,0,1,1,0},//3
{0,1,0,0,0,1,1,1,1,0},//4
{0,1,1,1,0,1,1,1,1,0},//5
{0,1,0,1,1,1,0,1,1,0},//6
{0,1,0,0,0,1,0,0,1,0},//7
{0,0,1,1,1,1,1,1,1,0},//8
{0,0,0,0,0,0,0,0,0,0}//9
};
//地图:
0:
障碍
init(map,curX,curY);
show(map);
process(map,1,"
当前進度"
play(map,curX,curY);
exit(map);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库课程设计 走迷宫 数据库 课程设计 迷宫