簡單的迷宮

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