完整版走迷宫游戏程序设计_第1页
完整版走迷宫游戏程序设计_第2页
完整版走迷宫游戏程序设计_第3页
完整版走迷宫游戏程序设计_第4页
完整版走迷宫游戏程序设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、«C语言程序设计题目走迷宫游戏程序设计内容本系统主要实现了走迷宫游戏,执行游戏的时候出现迷宫图案,每次各不相同,但是入均在左上角,出口在右下角,出入口各有“出”、“入”提示。人物为,表示墙,外围为一圈墙,空白部分为可行走的路,使用“上”、“下”、“左”、“右”键操作,当遭遇“墙”时无法前进,操作上下左右移动,直至走到出口,游戏胜利。当无法走出迷宫时,按“Esc”键即可退出游戏。、上机环境操作系统:开发工具:windowsXPvc6.0三、函数调用关系图图一:函数调用关系图四、各函数功能说明main函数:主函数;create函数:随机生成迷宫;paint函数:画出迷宫;game函数:开

2、始游戏;gotoxy函数:在文本窗口设置光标;get_key函数:接受按键;五、算法描述或流程图游戏界面画长33宽31迷宫玩家移动人物人物坐标位置不变图二:算法流程图六、程序运行效果图图三:游戏开始效果图七、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节。大学来说掌握计算机开发技术是十分重要的。在程序设计的过程中,我遇到了不少的问题,请教过学姐或者学长,也请教了老师,最后将程序设计好了。回顾起此次课程设计,我感慨良多,从拿到题目到完成整个编程,从理论到实践,在整整两个星期的日子里,我学到了很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且还

3、学到了很多在书本上所没有学到过的知识,我发现c语言是一门有趣的课程,对它产生了很大的兴趣。并且我明白了细心真的很重要,有时候就是因为一点点的小错误,而导致程序无法调试,并且需要花较长的时间去寻找错误。细心很重要的。两个星期前的现在,当听到老师布置给我们的题目时,我们都蒙了,这么难的题目我们怎么会啊,我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的艰苦,但豁出去了。上网查资料、去图书馆查,查相关的函数,经过两三天的努力,我把框架弄出来了,可是还有计算难题摆在我的面前,真的是个难题,自从把框架弄好了以后就没有进展了,眼看一个星期快过去了,我那个急啊,可是急也没有用。我坚持,终

4、于工夫不负有心人,大功告成了。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟是第一次做,难免会遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前学过的知识理解得不够深刻,掌握的不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。感谢老师的悉心指导,使我们能够顺利的完成这次课程设计,使我们收获颇多,谢谢!八、参考文献1李春葆曾平喻丹丹.C语言程序设计教程.清

5、华大学出版社,20112李春葆尹为民李蓉蓉蒋晶桂喻丹丹安杨.数据结卞教程.清华大学出版社,2009九、程序清单#include<stdio.h>gotoxy(2*y-2,x-1);#include<conio.h>printf("");/画出玩家当前位置#include<stdlib.h>if(mapxy=End)/判断是否到达出口#include<windows.h>#include<time.h>gotoxy(32,30);#defineHeight33printf("到达终点,按任意键结束"

6、;);#defineWidth31getch();#defineWall1break;#defineRoad0#defineStart2c=get_key();#defineEnd3if(c=Esc)#defineEsc5#defineUp1gotoxy(0,30);#defineDown2break;#defineLeft3#defineRight4switch(c)intmapHeight+2Width+2;voidgotoxy(intx,inty)/移动坐标caseUp:/向上走(if(mapx-1y!=Wall)COORDcoord;coord.X=x;paint(x,y);coord

7、.Y=y;x-;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);break;)caseDown:/向下走voidcreate(intx,inty)/随机生成迷宫if(mapx+1y!=Wall)(intc42=0,1,1,0,0,-1,-1,0;/四个方向paint(x,y);inti,j,t;x+;/将方向打乱for(i=0;i<4;i+)(j=rand()%4;t=ci0;ci0=cj0;cj0=t;t=ci1;ci1=cj1;cj1=t;mapxy=Road;for(i=0;i<4;i+)if(m

8、apx+2*ci0y+2*ci1=Wall)(mapx+ci0y+ci1=Road;create(x+2*ci0,y+2*ci1);intget_key()/接收按键(charc;while(c=getch()(if(c=27)returnEsc;/Escif(c!=-32)continue;c=getch();if(c=72)returnUp;/上if(c=80)returnDown;/下if(c=75)returnLeft;/左if(c=77)returnRight;/右return0;voidpaint(intx,inty)/画迷宫(gotoxy(2*y-2,x-1);switch(ma

9、pxy)(caseStart:printf("入");break;/画入口caseEnd:printf("出)break;画出口caseWall:printf("");break;/画墙caseRoad:printf("");break;/画路voidgame()break;caseLeft:/向左走if(mapxy-1!=Wall)(paint(x,y);y-;break;caseRight:/向右走if(mapxy+1!=Wall)(paint(x,y);y+;break;intmain()(system("c

10、olor04");inti,j;srand(unsigned)time(NULL);/初始化随即种子for(i=0;i<=Height+1;i+)for(j=0;j<=Width+1;j+)if(i=0|i=Height+1|j=0|j=Width+1)/初始化迷宫mapij=Road;elsemapij=Wall;create(2*(rand()%(Height/2)+1),2*(rand()%(Width/2)+1);/从随机一个点开始生成迷宫,该点行列都为偶数for(i=0;i<=Height+1;i+)/边界处理(mapi0=Wall;mapiWidth+1=Wall;for(j=0;j<=Width+1;j+)/边界处理(map0j=Wall;mapHeight+1j=Wall;map21=Start;/给定入口map

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论