//用二维数组,模拟迷宫
class Maze
{
//设置宽和长
private int mazeLength;
private int mazeWidth;
//创建一个初始地图
private int[][] map;
//构造器
public Maze(int mazeLength, int mazeWidth) {
super();
this.mazeLength = mazeLength;
this.mazeWidth = mazeWidth;
this.map = new int[mazeLength][mazeWidth];
initMap();
}
//初始化map,设置边界和障碍
public void initMap() {
//检测长和宽的值
if(mazeLength>0&&mazeWidth>0)
{
//设置迷宫上下边界
for(int i=0;i<mazeWidth;i++)
{
map[0][i]=1;
map[mazeLength-1][i]=1;
}
//设置迷宫左右边界
for(int i=0;i<mazeLength;i++)
{
map[i][0]=1;
map[i][mazeWidth-1]=1;
}
//设置障碍
map[3][1]=1;
map[3][2]=1;
map[1][5]=1;
}
else {
System.out.println("迷宫长和宽的输入格式不正确");
return;
}
}
//输出map
public void printMap() {
for(int[] raw:map)
{
for(int emle:raw)
{
System.out.print(emle);
}
迷宫问题(递归回溯)
最新推荐文章于 2022-10-12 20:11:45 发布
迷宫回溯问题
摘要由CSDN通过智能技术生成