C语言编写的迷宫小游戏_源代码

C语言编写的迷宫小游戏_源代码

ID:39876116

大小:54.50 KB

页数:7页

时间:2019-07-13

C语言编写的迷宫小游戏_源代码_第1页
C语言编写的迷宫小游戏_源代码_第2页
C语言编写的迷宫小游戏_源代码_第3页
C语言编写的迷宫小游戏_源代码_第4页
C语言编写的迷宫小游戏_源代码_第5页
资源描述:

《C语言编写的迷宫小游戏_源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言编写的迷宫小游戏源代码#include#include#include#include#include#defineN20/*迷宫的大小,可改变*/intoldmap[N][N];/*递归用的数组,用全局变量节约时间*/intyes=0;/*yes是判断是否找到路的标志,1找到,0没找到*/intway[100][2],wayn=0;/*way数组是显示路线用的,wayn是统计走了几个格子*/voidInit(void);/*图形初始化*/voidClose(void);/

2、*图形关闭*/voidDrawPeople(int*x,int*y,intn);/*画人工探索物图*/voidPeopleFind(int(*x)[N]);/*人工探索*/voidWayCopy(int(*x)[N],int(*y)[N]);/*为了8个方向的递归,把旧迷宫图拷贝给新数组*/intFindWay(int(*x)[N],inti,intj);/*自动探索函数*/voidMapRand(int(*x)[N]);/*随机生成迷宫函数*/voidPrMap(int(*x)[N]);/*输出迷宫图函数*/voidResult(void);/*输出结果处理*/void

3、Find(void);/*成功处理*/voidNotFind(void);/*失败处理*/voidmain(void)/*主函数*/{intmap[N][N];/*迷宫数组*/charch;clrscr();printf("Pleaseselecthand(1)elseauto");/*选择探索方式*/scanf("%c",&ch);Init();/*初始化*/MapRand(map);/*生成迷宫*/PrMap(map);/*显示迷宫图*/if(ch=='1')PeopleFind(map);/*人工探索*/elseFindWay(map,1,1);/*系统自动

4、从下标1,1的地方开始探索*/Result();/*输出结果*/Close();}voidInit(void)/*图形初始化*/{intgd=DETECT,gm;initgraph(&gd,&gm,"c:\tc");}voidDrawPeople(int*x,int*y,intn)/*画人工控制图*/{/*如果将以下两句注释掉,则显示人工走过的路径,*/setfillstyle(SOLID_FILL,WHITE);/*设置白色实体填充样式*/bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6);/*恢复原通

5、路*/switch(n)/*判断x,y的变化,8个方向的变化*/{case1:(*x)--;break;/*上*/case2:(*x)--;(*y)++;break;/*右上*/case3:(*y)++;break;/*右*/case4:(*x)++;(*y)++;break;/*右下*/case5:(*x)++;break;/*下*/case6:(*x)++;(*y)--;break;/*左下*/case7:(*y)--;break;/*左*/case8:(*x)--;(*y)--;break;/*左上*/}setfillstyle(SOLID_FILL,RED);/*

6、新位置显示探索物*/bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6);}voidPeopleFind(int(*map)[N])/*人工手动查找*/{intx,y;charc=0;/*接收按键的变量*/x=y=1;/*人工查找的初始位置*/setcolor(11);line(500,200,550,200);outtextxy(570,197,"d");line(500,200,450,200);outtextxy(430,197,"a");line(500,200,500,150);outtextxy(

7、497,130,"w");line(500,200,500,250);outtextxy(497,270,"x");line(500,200,450,150);outtextxy(445,130,"q");line(500,200,550,150);outtextxy(550,130,"e");line(500,200,450,250);outtextxy(445,270,"z");line(500,200,550,250);outtextxy(550,270,"c");/*以上是画8个方向的控制介绍*/setcolor(YE

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

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

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