三九宝宝网宝宝教育学龄段教育

关于用C语言编写巡游迷宫

02月16日 编辑 39baobao.com

[马路小迷宫]活动目标: 1.认识并知道交通信号灯与标志的含义。 2.了解常见的交通规则。 3.通过游戏 活动准备: 幼儿用书、学习单、挂图、VCD、大纸箱、轮胎、标志、泡棉垫、锦旗与各种障碍...+阅读

/*迷宫源程序*/ #include#include#include#include#include#define N 20/*迷宫的大小,可改变*/ int oldmap[N][N];/*递归用的数组,用全局变量节约时间*/ int yes=0;/*yes是判断是否找到路的标志,1找到,0没找到*/ int way[100][2],wayn=0;/*way数组是显示路线用的,wayn是统计走了几个格子*/ void Init(void);/*图形初始化*/ void Close(void);/*图形关闭*/ void DrawPeople(int *x,int *y,int n);/*画人工探索物图*/ void PeopleFind(int (*x)[N]);/*人工探索*/ void WayCopy(int (*x)[N],int (*y)[N]);/*为了8个方向的递归,把旧迷宫图拷贝给新数组*/ int FindWay(int (*x)[N],int i,int j);/*自动探索函数*/ void MapRand(int (*x)[N]);/*随机生成迷宫函数*/ void PrMap(int (*x)[N]);/*输出迷宫图函数*/ void Result(void);/*输出结果处理*/ void Find(void);/*成功处理*/ void NotFind(void);/*失败处理*/ void main(void)/*主函数*/ { int map[N][N]; /*迷宫数组*/ char ch; clrscr(); printf("\n Please select hand

(1) else auto\n");/*选择探索方式*/ scanf("%c",&ch); Init(); /*初始化*/ MapRand(map);/*生成迷宫*/ PrMap(map);/*显示迷宫图*/ if(ch=='1') PeopleFind(map);/*人工探索*/ else FindWay(map,1,1);/*系统自动从下标1,1的地方开始探索*/ Result();/*输出结果*/ Close(); } void Init(void)/*图形初始化*/ { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc"); } void DrawPeople(int *x,int *y,int n)/*画人工控制图*/ {/*如果将以下两句注释掉,则显示人工走过的路径,*/ setfillstyle(SOLID_FILL,WHITE); /*设置白色实体填充样式*/ bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6); /*恢复原通路*/ switch(n)/*判断x,y的变化,8个方向的变化*/ { case 1: (*x)--;break; /*上*/ case 2: (*x)--;(*y)++;break ;/*右上*/ case 3: (*y)++;break; /*右*/ case 4: (*x)++;(*y)++;break; /*右下*/ case 5: (*x)++;break; /*下*/ case 6: (*x)++;(*y)--;break; /*左下*/ case 7: (*y)--;break; /*左*/ case 8: (*x)--;(*y)--;break; /*左上*/ } setfillstyle(SOLID_FILL,RED);/*新位置显示探索物*/ bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6); } void PeopleFind(int (*map)[N])/*人工手动查找*/ { int x,y; char c=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(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(YELLOW); outtextxy(420,290,"Press 'Enter' to end");/*压回车键结束*/ setfillstyle(SOLID_FILL,RED); bar(100+y*15-6,50+x*15-6,100+y*15+6,50+x*15+6);/*入口位置显示*/ while(c!=13)/*如果按下的不是回车键*/ { c=getch();/*接收字符后开始各个方向的探索*/ if(c=='w'&map[x-1][y]!=1) DrawPeople(&x,&y,1);/*上*/ else if(c=='e'&map[x-1][y+1]!=1) DrawPeople(&x,&y,2);/*右上*/ else if(c=='d'&map[x][y+1]!=1) DrawPeople(&x,&y,3);/*右*/ else if(c=='c'&map[x+1][y+1]!=1) DrawPeople(&x,&y,4);/*右下*/ else if(c=='x'&map[x+1][y]!=1) DrawPeople(&x,&y,5);/*下*/ else if(c=='z'&map[x+1][y-1]!=1) DrawPeople(&x,&y,6); /*左下*/ else if(c=='a'&map[x][y-1]!=1) DrawPeople(&x,&y,7); /*左*/ else if(c=='q'&map[x-1][y-1]!=1) DrawPeople(&x,&y,8); /*左上*/ } setfillstyle(SOLID_FILL,WHITE); /*消去红色探索物,恢复原迷宫图*/ bar(100+y*15-6,50+x*15-6,100+y*15+6,50+x*15+6); if(x==N-2&y==N-2)/*人工控制找成功的话*/ yes=1; /*如果成功标志为1*/ } void WayCopy(int (*oldmap)[N],int (*map)[N])/*拷贝迷宫数组 */ { int i,j; for(i=0;i

以下为关联文档:

智力游戏《走迷宫》活动反思如果老师不能感染孩子却硬要他们鼓掌,这就成了强人所难,就得重一点,是对孩子的不尊重。 一学期一次的公开课比赛又将开始,为了上好这次公开课,我多方收集资料,寻找孩子感兴趣的题...

喜羊羊与灰太狼之迷宫树林活动目标 1、 尝试运用"目测数群,接着数"的方法进行数数,并比较两组物体的多少。 2、 积极参与数活动,愿意与同伴分享数数经验。 活动准备 ppt课件、幼儿操作材料、迷宫树林、...

迷宫目标: 1、在游戏中感知左、右,以自身为中心区分自己身体的左右。分清自己的左边和右边。 2、通过游戏,让幼儿充分感受到数学就在身边,并从中获得积极的情感。 3、在游戏中激发幼...

迷宫 增强孩子的注意力3岁及3岁以上的孩子,常常对迷宫游戏表现出很浓厚的兴趣,因为此时孩子已经具备了分析、辨别能力,善于发现新事物,且能注意到事物的微妙变化,并能对事物的不同反应作出很好的判断。...

《勇闯迷宫》数学活动反思迷宫是幼儿非常喜欢的游戏之一。《勇闯迷宫》是个游戏性很强的活动。我考虑到幼儿的兴趣点和本主题的内容,我开展了本次中班数学活动《勇闯迷宫》。 整个活动分为三个环节,...

C课程设计迷宫急给出详细的我看了一下上一个回答,编的还不错,但是有漏洞,同时不能自己改动设计迷宫样式,我又完善了一下,可以自己设计迷宫的样式,同时操作能漂亮点!!!希望能帮上你!! 注意 数组大小为 a[10][20]...

c语言的课程设计:迷宫问题参考一下这个/*4.3.3源程序*/#include#include#include#include#include#define N 20/*迷宫的大小,可改变*/int oldmap[N][N];/*递归用的数组,用全局变量节约时间*/int yes=0;/...

c程序设计迷宫这个可行的/*4.3.3源程序*/#include#include#include#include#include#define N 20/*迷宫的大小,可改变*/int oldmap[N][N];/*递归用的数组,用全局变量节约时间*/int yes=0;/*y...

C设计一个迷宫并走出来本程序的前提是将迷宫保存在一个二维数组里,可走的地方为0,不可走的地方为1。由于采用回朔算法,不使用递归,所以首先应该建立一个栈来保存路径,路径是用一个一个点来表示的,也就是...

推荐阅读
图文推荐