求一个C语言编写的迷宫程序, 10
要求以链表作存储结构的栈类型,非递归,求得的通路以三元组(i,j,d)形式输出,(i,j)表示坐标,d表示走到下一坐标的方向,1,2,3,4分别代表右下左上...
要求以链表作存储结构的栈类型,非递归,求得的通路以三元组(i,j,d)形式输出,(i,j)表示坐标,d表示走到下一坐标的方向,1,2,3,4分别代表右下左上
展开
2个回答
2016-06-13
展开全部
while(c!=13)/*如果按下的不是回车键*/{c=getch();/*接收字符后开始各个方向的探索*/if(c=='w'&&map[x-1][y]!=1)DrawPeople(&x,&y,1);/*上*/elseif(c=='e'&&map[x-1][y+1]!=1)DrawPeople(&x,&y,2);/*右上*/elseif(c=='d'&&map[x][y+1]!=1)DrawPeople(&x,&y,3);/*右*/elseif(c=='c'&&map[x+1][y+1]!=1)DrawPeople(&x,&y,4);/*右下*/elseif(c=='x'&&map[x+1][y]!=1)DrawPeople(&x,&y,5);/*下*/elseif(c=='z'&&map[x+1][y-1]!=1)DrawPeople(&x,&y,6);/*左下*/elseif(c=='a'&&map[x][y-1]!=1)DrawPeople(&x,&y,7);/*左*/elseif(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*/}voidWayCopy(int(*oldmap)[N],int(*map)[N])/*拷贝迷宫数组*/{inti,j;for(i=0;i=0;i--){bar(100+way[i][1]*15-6,50+way[i][0]*15-6,100+way[i][1]*15+6,50+way[i][0]*15+6);sleep(1);/*控制显示时间*/}bar(100+(N-2)*15-6,50+(N-2)*15-6,100+(N-2)*15+6,50+(N-2)*15+6);/*在目标点标红色*/setcolor(GREEN);settextstyle(0,0,2);/*设置字体大小*/outtextxy(130,400,"Findaway!");}voidNotFind(void)/*没找到通路*/{setcolor(GREEN);settextstyle(0,0,2);/*设置字体大小*/outtextxy(130,400,"Notfindaway!");}voidResult(void)/*结果处理*/{if(yes)/*如果找到*/Find();else/*没找到路*/NotFind();getch();}voidClose(void)/*图形关闭*/{closegraph();}
追问
这是啥?
2016-06-13
展开全部
#includemain(){inta,b,t=0;scanf("%d%d",&a,&b);if(a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询