1.C语言简单走迷宫●源码
C语言简单走迷宫●源码
//VC6.0、源码VS编译OK
//C语言走迷宫
#include
#include
int DrawMap(char map[][]);
int AmendMpa(char map[][],源码requirejs 源码分析char ch);
int main(void)
{
char ch;
int retval;//结果
char map[][]={ "##############################",\
"#0 ## #######",\
"## ##### ########## #######",\
"### ###### #### ### ###",\
"#### ##### # #### #######",\
"####### ## ### ### #",\
"####### ## ## #### ## ##### #",\
"#### ## ## ##### ## #### #",\
"####### # # ### ### #",\
"####### # ### ## #### ######",\
"# # ## ## ## ## #######",\
"##### # # # ## #### #####",\
"####### # ####### ####",\
"################ ###### # #",\
"################## ##",\
"########################### ##",\
};//地图数组
DrawMap(map);
while(1)
{
ch=getch();
if(ch=='j' || ch=='J' || ch=='k' || ch=='K' || ch=='L' || ch=='l' ||ch=='i' || ch=='I')
{
retval=AmendMap(map,ch);//获取输入修改地图
DrawMap(map);//刷新显示
if(retval==1)//走出迷宫
{
printf(" 恭喜你走出迷宫! ");
break;
}
}
}
printf("按任意键结束!源码textmesh源码 ");
getch();
return 0;
}
int DrawMap(char map[][])
{
int i,源码药膏源码j;
system("cls");
printf("C语言走迷宫 ");
printf("开始前请关闭输入法!!源码bootcode 源码!源码serlvet源码 ");
printf("jkli建移动 ");
for(i=0;i<;i++)
{
for(j=0;j<;j++)
{
printf("%c",源码map[i][j]);
}
printf(" ");
}
printf(" 出口");
return 0;
}
int AmendMap(char map[][],char ch)//返回1走出迷宫,否则返回0
{
int i,源码j;
int wx,wy;//wx:x位置,xy:y位置
源码for (i=0;i<;i++)
源码{
源码for (j=0;j<;j++)
源码{
源码if(map[i][j]=='0')
源码{
源码wy=i;
源码wx=j;
源码}
源码}
源码}
源码if(ch=='j' || ch=='J')//向右
源码{
源码if(map[wy][wx-1]=='#')
源码{
源码return 0;
源码}
源码else
源码{
源码map[wy][wx - 1]='0';
源码map[wy][wx]=' ';
源码}
源码}
源码if(ch=='l' || ch=='L')//向左
源码{
源码if(map[wy][wx + 1]=='#')
源码{
源码return 0;
源码}
源码else
源码{
源码map[wy][wx + 1]='0';
源码map[wy][wx]=' ';
源码}
源码}
源码if(ch=='i' || ch=='I')//向上
源码{
源码if(map[wy - 1][wx]=='#')
源码{
源码return 0;
源码}
源码else
源码{
源码map[wy - 1][wx ]='0';
源码map[wy][wx]=' ';
源码}
源码}
源码if(ch=='k' || ch=='K')//向下
源码{
源码if(map[wy + 1][wx]=='#')
源码{
源码return 0;
源码}
源码else
源码{
源码map[wy + 1][wx]='0';
源码map[wy][wx]=' ';
源码}
源码}
源码if (map[][]=='0')//判断走到出口
源码{
源码return 1;
源码}
源码}
源码