ゲームがフィールド上にランダムに散らばっている10個の地雷で始まるとき、私は地雷原をうまく開始することができました。ただし、ゲームの開始時にこれらの地雷をユーザーから隠すのに問題があります。ご存知のように、マインスイーパのポイントは、地雷が見えなくても地雷がどこにあるかを見つけることです。地雷を隠す方法を理解するのに助けが必要です。
以下は、グリッドを開始し、グリッドを地雷で埋めるメソッドを含む、Gridクラス用に作成したコードです。これらの地雷を非表示にして、クリックされたときにのみ表示するにはどうすればよいですか?助けてくれてありがとう!
public class Grid {
private int[][] grid;
private boolean isHidden;
private int rows;
private final int columns;
private final int mines;
public Grid() {
this.rows = 8;
this.columns = 8;
this.mines = 10;
this.grid = new int[rows][columns];
}
public int[][] getGrid() {
return grid;
}
public int getRows() {
return rows;
}
public int getColumns() {
return columns;
}
public void fillGrid() {
Random ranGen = new Random();
for(int i = 0; i < this.mines; ) {
int row = ranGen.nextInt(this.rows - 1);
int column = ranGen.nextInt(this.columns - 1);
if(grid[row][column] != MinesweeperGUI.MINE) {
grid[row][column] = MinesweeperGUI.MINE;
i++;
}
}
}