if(x==m&&y==n)
return 1; /*起始位置是出口,找到路径,结束*/ for(i=0;i<4;i++)
{
if(maze[x+move[i].x][y+move[i].y]==0)
if(mazepath(maze,move,x+move[i].x,y+move[i].y))
return 1; /*下一个是出口,则返回*/ }
step--;
maze[x][y]=0;
return 0;
}
int main()
{ int i,j,k;
char u;
int x,y;
printf("*****欢迎进入迷宫游戏*****\n");
printf("~~~~~~~~游戏快乐~~~~~~~~~\n");
printf(" 这是6*8的迷宫\n");
printf("****************************\n");
for(i=0;i<m+2;i++)
{ printf("****");
for(j=0;j<n+2;j++)
{
printf("%-2d",maze[i][j]);
}
printf("****");
printf("\n");
}
printf("****************************\n");
printf("现在开始游戏?(y/n):");
scanf("%c",&u);
while(u!='n')
{
printf("请输入迷宫入口坐标(x,y):");
scanf("%d,%d",&x,&y);
printf("出口:(6,8)<-");
k=mazepath(maze,move,x,y);
printf(":入口\n");
if(k==1)printf("恭喜!走出迷宫\n\n");
else printf("抱歉,迷宫无路\n\n");
printf("继续游戏:");