目前我创建了一个二维数组来表示迷宫的网格。我的迷宫构造函数如下:
public Maze(int rows, int columns)
{
this.rows = rows;
this.cols = columns;
curr = new Square[rows][columns];
}
在我的测试课中有以下内容:
Maze m = new Maze(4, 4);
但是,当我遍历我的迷宫时,在调试时我注意到 curr 被初始化为 Square[4][] 没有列的参数。有谁知道这里可能出现什么问题?
编辑:这就是我打算做的;我使 curr = Square[rows][columns] 但是当我在以下循环中检查 curr 的值时,在调试器工具中,无论何时进入 curr[i][j ] 在循环中。
for(int i = 0; i < maze.length; i++)
{
for(int j = 0; j < maze[i].length; j++)
{
/* Entrance */
if(maze[i][j] == start)
{
startX = j;
startY = i;
curr[i][j] = new Square(i, j, start, this);
}
/* Exit */
else if(maze[i][j] == end)
{
endX = j;
endY = i;
curr[i][j] = new Square(i, j, end, this);
}
/* Traversable Squares */
else if(maze[i][j] == traverse)
{
curr[i][j] = new Square(i, j, traverse, this);
}
/* Non-traversable Squares */
else
{
curr[i][j] = new Square(i, j, noTraverse, this);
}
}
}