簡單的迷宮
#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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.