現在、迷路のグリッドを表す2D配列を作成しました。私の迷路コンストラクターは次のとおりです。
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にステップインするたびにcurrの値がSquare[4][]になります。 ]ループ内。
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);
}
}
}