// 入口,第二行第一列
entranceX = 1;
entranceY = 0;
// 出口,倒数第二行最后一列
exitX = N - 2;
exitY = M - 1;
}
public int N(){ return N; }
public int M(){ return M; }
public int getEntranceX(){return entranceX;}
public int getEntranceY(){return entranceY;}
public int getExitX(){return exitX;}
public int getExitY(){return exitY;}
public char getMaze(int i, int j){
if (!inArea(i, j))
throw new IllegalArgumentException(“i or j is out of index in getMaze!”);
return maze[i][j];
}
// 判断点(x,y)是否在迷宫中
public boolean inArea(int x, int y){
return x >= 0 && x < N && y >= 0 && y < M;
}
// 控制台打印迷宫
public void print(){
System.out.println(N + " " + M);
for(int i = 0 ; i < N ; i ++){
for(int j = 0 ; j < M ; j ++)
System.out.print(maze[i][j]);
System.out.println();
}
return;
}
}
将迷宫的各个位置封装成一个类 Position.java,便于操作
public class Position {
private int x, y;
public Position(int x, int y, Position prev){
this.x = x;
this.y = y;
}
public Position(int x, int y){
this(x, y, null);
}
public int getX(){ return x; }