こんにちは、私はほぼクラスの地雷探偵のゲームを作成するこのプログラムで行われています。それは完全にコンパイルされて実行され、GUIクライアントプログラムにゲームが表示されますが、1つの問題が発生します。鉱山の地雷数Java
再生時に、隣接する鉱山が1つ以上ある場合はa 1が表示され、周囲の8つの正方形のいずれかに実際に鉱山がある場合は0が表示されることがあります。どんな助けや提案も喜んで感謝しています!
private void countAdjacentMines()
{
// TO DO: STUDENT CODE HERE
for (int i = 0; i < mineField.length; i++)
{
for (int j = 0; j < mineField.length; j++)
{
if (!(mineField[i][j].getIsMine()))
{
int count = 0;
for (int p = i -1; p <= i + 1; p++)
{
for (int q = j - 1; q < j + 1; q++)
{
if (0 <= p && p < mineField.length && 0 <= q && q < mineField.length)
{
if (mineField[p][q].getIsMine())
count++;
} // end if
} // end for
} // end for
mineField[i][j].setAdjacentMines(count);
} // end if
} // end for loop rows
} // end for loop columns
} // end countAdjacentMines
は、なぜあなたは2回)(getIsMineをチェックするべきか?隣接する鉱山を数えるだけでいいのはなぜですか?このコードは、特定の欠陥を指摘するにはあまりにも壊れているようです。 –
これは宿題の場合、そのようにタグ付けしてください(これはあなたの質問から回答を除外しません)。 –
二番目のforループを 'for(int j = 0; j
Briguy37