所以我正在做扫雷器
8x8板还可以,但是在12x12和16x16上,炸弹周围的数字错了
public void setTablero() {
for (int f = 0; f < TAM; f++) {
for (int c = 0; c < TAM; c++) {
tablero[f][c] = 0;
System.out.println(TAM);
}
}
for (int mina = 0; mina < minas; mina++) {
//Busca una posición aleatoria donde no haya otra bomba
int f, c;
do {
Random rand = new Random();
f = rand.nextInt(TAM);
c = rand.nextInt(TAM);
} while (tablero[f][c] == -1);
//Pone la bomba
tablero[f][c] = -1;
//Recorre el contorno de la bomba e incrementa los contadores
for (int f2 = max(0, f - 1); f2 < min(TAM, f + 2); f2++) {
for (int c2 = max(0, c - 1); c2 < min(TAM, c + 2); c2++) {
if (tablero[f2][c2] != -1) { //Si no es bomba
tablero[f2][c2]++; //Incrementa el contador
}
}
}
}