0

私はこの1つの問題に4日間を費やし、考えられる解決策を無数に検索してきましたが、今は髪の毛を抜いています。マインスイーパの2Dキャラクター配列ゲームで、最初に地雷を取り巻く地雷(基本的には地雷を取り巻く8ブロック)を数え、次に地雷を取り巻く文字を整数に変換しようとしています。誰か助けていただければ幸いです。これは明日になる宿題です。私はそのようなダミーのように感じますが、私は文字通り眠れない夜をこの1つの問題に取り組んできました。:'(誰かが例mが私のものであるのを助けてくださいここは鉱山の周りの領域をチェックして隣接する鉱山メソッドを呼び出す番号に変換することを想定したvoidメソッドの一部です

    for(this.rows = 0; rows < board.length; rows++) {
           for(this.cols = 0; cols < board[rows].length; cols++) {  

            for(int i = -1; i <= 1; i++) {
                        for(int j = -1; j <= 1; j++) {
                            if(i == 0 && j == 0) {
                                continue;
                            }
                            else 
                                if(inBounds(rows + i, cols + j))
                                board[i][j]=(char)(48+adjacentMines(i,j));

                            }
                        }

            }
    }      
    }           

このようなものが必要な場合は、座標を選択したときにこのようになります。ここで、xは選択された座標であり、地雷ではないので、このように出力します。上記の配列は現在の状態です。出力のeを数字で置き換えたいです| 0 | 1 | 0 | | 0 | x | 1 |
| 0 | 0 | 0 |

4

1 に答える 1

1

空のステートメントがあります:

if(inBounds(row + i, col + j)&&mineBoard[row][col]==true);

最後のセミコロンに注意してください。

また、後者のコードスニペットでは、とのループij冗長です。あなたはそれらを取り除くべきであり、あなたは占領された細胞のために地雷を数えるべきではありません。

于 2012-09-09T15:00:54.437 に答える