简单的迷宫
原创abaaccccccc ©著作权
©著作权归作者所有:来自51CTO博客作者abaaccccccc的原创作品,请联系作者获取转载授权,否则将追究法律责任
#include
#include
#include
#include
#include
using namespace std;
char grid[7][13]=
{
{1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1},
{1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1},
{1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1},
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
};
char map[7][13];
bool isValid(int i, int j)
{
if(i<0 || i>6 || j<0 || j>12)
return false;
if(1==grid[i][j])
return true;
return false;
}
int operate(int i, int j)
{
bool flag =false;
if(isValid(i, j))
{
grid[i][j]=5;
if(6==i && 12==j)
{
flag=true;
}
else
{
flag=operate(i, j+1);
printf("右");
if(!flag)
{
flag=operate(i, j-1);
printf("左");
}
if(!flag)
{
flag=operate(i+1, j);
printf("下");
}
if(!flag)
{
flag=operate(i-1, j);
printf("上");
}
}
if(!flag)
grid[i][j]=9;
}
return flag;
}
int main()
{
//memset(map,0,sizeof(map));
for(int i=0 ; i<7; i++)
{
for(int j=0; j<13; j++)
{
printf("%d", grid[i][j]);
}
printf("\n");
}
operate(0, 0);
printf("\n");
for(int i=0 ; i<7; i++)
{
for(int j=0; j<13; j++)
{
printf("%d", grid[i][j]);
}
printf("\n");
}
cout << "Hello world!" << endl;
return 0;
}
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
在Java中使用二维数组生成迷宫
在Java中使用二维数组生成迷宫
深度优先搜索 Java 二维数组 -
C游戏 简单迷宫游戏开发
j ++) { printf("%c ",map[i][j]);
c语言 游戏 游戏开发 迷宫 架构师 -
(简单) 闯迷宫 (CD1775)
注意:把方向搞清楚就可以了。 #include#include#include#include;
#include 测试数据 ci -
BFS简单题套路_Codevs 1215 迷宫
BFS 简单题套路 1. 遇到迷宫之类的简单题,有什么行走方向的,先写下面的 声明 2. 随后再逐个函数的实现
mpx #include 数据 搜索 ios