package xin.com.x07;
package xin.com.x07;
public class game {
//迷宫游戏
static boolean findWay(int[][]map,int i,int j){
//判断是否找到出口;找到输出true 没有继续找
if(map[6][5] == 2){
return true;
}else {//首先判断当前位置是否为0 即没有走过的
if(map[i][j] == 0) {
//假定当前位置正确;
map[i][j] = 2;
//递归验证当前位置是否可以到达下一位置,如果可以返回true;
if (findWay(map, i + 1, j)) {
return true;
} else if (findWay(map, i, j + 1)) {
map[i][j + 1] = 2;
return true;
} else if (findWay(map, i, j - 1)) {
map[i][j - 1] = 2;
return true;
} else if (findWay(map, i - 1, j)) {
map[i - 1][j] = 2;
return true;
} else {
//如果不可以到达下一位置,就设置3 表示走过但是不能出去,
//当程序走到最后一步发现不是出口而是死胡同的时候;会回溯(逐步跳出递归的程序)把每个走过的位置变成3
map[i][j] = 3;
return false;
}
}
}
return false;
}
public static void main(String[] args) {
//设置迷宫地图
//1.设置迷宫大小
int[][] map = new int[8][7];
//2.设置障碍物
// 第一行和最后一行设置为1
for(int i = 0;i