したがって、この問題で私がやろうとしているのは、グリッド内の偶数の位置を取得したい数値のグリッドが与えられ、その位置を 1 つ持つことで、それに接続されている他のすべての偶数要素を見つけることです。
この図は、私が説明しようとしていることを示しています。写真は、私が6の場所にいることを前提としています
これが私が書いた私のコードです 私はそれが機能することをほぼ確信しています とにかくもっと効率的にできるかどうかを見たいだけです
getLinksEven(grid,0,1);
static void getLinksEven(Server[][] grid, int k, int j)
{
try{
if(grid[k-1][j].isEven()&& !grid[k-1][j].isCracked()){
grid[k-1][j].setCracked(true);
getLinksEven(grid,k-1,j);
}
}
catch(ArrayIndexOutOfBoundsException a)
{
//do nothing
}
try{
if(grid[k][j-1].isEven()&& !grid[k][j-1].isCracked()){
grid[k][j-1].setCracked(true);
getLinksEven(grid,k,j-1);
}
}
catch(ArrayIndexOutOfBoundsException a)
{
//do nothing
}
try{
if(grid[k+1][j].isEven()&& !grid[k+1][j].isCracked()){
grid[k+1][j].setCracked(true);
getLinksEven(grid,k+1,j);
}
}
catch(ArrayIndexOutOfBoundsException a)
{
//do nothing
}
try{
if(grid[k][j+1].isEven()&& !grid[k][j+1].isCracked()){
grid[k][j+1].setCracked(true);
getLinksEven(grid,k,j+1);
}
}
catch(ArrayIndexOutOfBoundsException a)
{
//do nothing
}
}