Hola a tod@s! tengo una duda en un ejercicio que me han mandado en NetBeans, tengo que realizar el Hundir La Flota pero de manera sencilla, en resumen he hecho un código pero me falta implementar un par de cosas que llevo días intentando y no logro conseguirlo, la primera, como hago que en vez de un jugador 2, sea la maquina quien dé coordenadas aleatorias, (se que es con Math.Random pero no consigo que funcione) y la segunda, he realizado un tablero con ceros, pero debo realizarlo con guiones que cuando se alcanzan con un disparo del jugador, se cambian a "A" si no hay ningún barco y a "X" si hay un barco, se que es algo sencillo pero soy algo nuevo en esto y estoy bastante perdido. Os dejo el código a continuación y muchas gracias por adelantado.
(Por cierto cuando leáis el usuario 2 realmente no existe, es decir el objetivo es dejarlo con 1 jugador contra la maquina la cual hará disparos aleatorios.)
package hundirlaflotaevauable;
import java.util.Scanner;
public class HundirLaFlotaEvauableplantilla {
/*
*
* @author Jose Ángel Quinto
*
*/
public static void main(String[] args) {
//variables
boolean ganaUsuario1 = false, ganaUsuario2 = false;
int[][] vectorMapaUsuario1 = new int[10][10];
int filaUsuario1, columnaUsuario1, filaUsuario2, columnaUsuario2, tiraUsuario1Columna, tiraUsuario1Fila, tiraUsuario2Columna, tiraUsuario2Fila;
int[][] vectorMapaUsuario2 = new int[10][10];
//obj
Scanner sc = new Scanner(System.in);
//entrada
System.out.println("VAMOS A JUGAR A HUNDIR LA FLOTA (Solo barcos, 1 espacio)");
System.out.println();
System.out.print("Player 1 Introduce tus coordenadas para colocar tu barco: ");
filaUsuario1 = sc.nextInt();
columnaUsuario1 = sc.nextInt();
System.out.print("Player 2 Introduce tus coordenadas para colocar tu barco: ");
filaUsuario2 = sc.nextInt();
columnaUsuario2 = sc.nextInt();
//operaciones
//cargando mapas
//mapa del usuario 1
System.out.println("");
System.out.println("MAPA DEL USUARIO 1");
for (int i = 0; i < vectorMapaUsuario1.length; i++) {
System.out.println("");
for (int j = 0; j < vectorMapaUsuario1.length; j++) {
if (i == columnaUsuario1) {
if (j == filaUsuario1) {
vectorMapaUsuario1[i][j] = 1;
}
} else {
vectorMapaUsuario1[i][j] = 0;
}
System.out.print(vectorMapaUsuario1[i][j]);
}
}
System.out.println();
//mapa del usuario 2
System.out.println();
System.out.println("MAPA DEL USUARIO 2");
for (int i = 0; i < vectorMapaUsuario2.length; i++) {
System.out.println("");
for (int j = 0; j < vectorMapaUsuario2.length; j++) {
if (i == columnaUsuario2) {
if (j == filaUsuario2) {
vectorMapaUsuario2[i][j] = 1;
}
} else {
vectorMapaUsuario2[i][j] = 0;
}
System.out.print(vectorMapaUsuario2[i][j]);
}
}
System.out.println("");
while (ganaUsuario1 == false && ganaUsuario2 == false) {
System.out.println("");
System.out.println("Usuario 1 introduce tus coordenadas para el disparo: ");
tiraUsuario1Fila = sc.nextInt();
tiraUsuario1Columna = sc.nextInt();
if (tiraUsuario1Columna == columnaUsuario2 && tiraUsuario1Fila == filaUsuario2) {
ganaUsuario1 = true;
} else {
System.out.println("AGUA!");
System.out.println();
System.out.println("Usuario 2 introduce tus coordenadas para el disparo: ");
System.out.println();
tiraUsuario2Fila = sc.nextInt();
tiraUsuario2Columna = sc.nextInt();
if (tiraUsuario2Columna == columnaUsuario1 && tiraUsuario2Fila == filaUsuario1) {
ganaUsuario2 = true;
} else {
System.out.println("");
System.out.println("AGUA");
}
}
}
//salida
if (ganaUsuario1 == true) {
System.out.println("¡GANA EL USUARIO 1!");
}
if (ganaUsuario2 == true) {
System.out.println("¡GANA EL USUARIO 2!");
}
}
}