Java - Campo de minas.

 
Vista:

Campo de minas.

Publicado por Omarito6 (1 intervención) el 02/02/2024 22:02:05
Buenas noches! Si alguien me puede ayudar se lo agradecería muchísimo. Estoy haciendo un trabajo en el cuál se me pide hacer el problema 176 de Acepta el reto.
Pide introducir 2 datos por teclado que van a generar el tamaño del campo y este a su vez llenarlo aleatoriamente de '*'(minas) y de '-'(espacios en blanco). Imprimir el array y después buscar los adyacentes de los valores '-'. Si estos suman 6 minas, se cuenta total++. Dejo lo que he hecho abajo. Gracias.

import java.util.Random;
import java.util.Scanner;

/**
*
* @author Omar
*/
public class Minas {

public static void main(String[] args) {

Random rd = new Random();
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
char minas = '*';
char vacia = '-';
int total = 0;
while (true) {
while (x != 0 || y != 0) {
char[][] array = new char[x][y];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
array[i][j] = (rd.nextInt(2) == 0) ? '*' : '-';
System.out.print(array[i][j]);
}
System.out.println();
}
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
if (j == vacia) {
for (int m = i - 1; m <= i + 1; m++) {
for (int n = j - 1; n <= j + 1; n++) {
if (m >= 0 && m < array.length && n >= 0 && n < array[i].length) {
minas += array[i][j];
if (minas == 6) {
total++;
}
minas = 0;
}
}
}
}
}
}
System.out.println(total);
total = 0;
x = sc.nextInt();
y = sc.nextInt();
}
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder