Мне удалось успешно инициировать минное поле, когда игра начинается с 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++;
}
}
}