Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hundirlaflota;
- import java.util.Scanner;
- import java.util.Random;
- public class HundirLaFlota{
- public static void main (String[] args) {
- System.out.println ("============ HUNDIR LA FLOTA ============");
- System.out.println ("");
- System.out.println ("");
- int[][] tablero = new int [5][5];
- int[][] barcos = new int [4][3];
- int[] disparo = new int [2];
- int intentos = 0;
- int golpeDisparo = 0;
- iniciarTablero (tablero);
- iniciarBarcos (barcos);
- System.out.println();
- do {
- verTablero (tablero);
- disparo (disparo);
- intentos++;
- if (golpe(disparo, barcos)) {
- disparos (disparo, barcos, intentos);
- golpeDisparo++;
- }
- else
- disparos (disparo, barcos, intentos);
- cambiarTablero (disparo, barcos, tablero);
- } while (golpeDisparo < 4);
- Scanner s = new Scanner (System.in);
- System.out.println ("");
- System.out.println ("=========== Partida finalizada ===========");
- System.out.println ("");
- System.out.println ("Has hundido 4 barcos en " + intentos + " intentos");
- /*System.out.println ("");
- System.out.println ("¿Desea jugar de nuevo? S/N");
- char c = s.next().charAt(0);
- while (c == 'S' || c == 's') {
- System.out.println ("");
- System.out.println ("============= Nueva partida =============");
- System.out.println ("");
- iniciarTablero (tablero);
- iniciarBarcos (barcos);
- System.out.println();
- do {
- verTablero (tablero);
- disparo (disparo);
- intentos++;
- if (golpe(disparo,barcos)) {
- disparos (disparo,barcos,intentos);
- golpeDisparo++;
- }
- else
- disparos (disparo,barcos,intentos);
- cambiarTablero (disparo,barcos,tablero);
- } while (golpeDisparo != 4);
- }*/
- verTablero (tablero);
- }
- public static void iniciarTablero (int[][] tablero) {
- for (int fila = 0; fila < 5; fila++ )
- for (int columna = 0; columna < 5; columna++ )
- tablero [fila][columna] = -1;
- }
- public static void verTablero (int[][] tablero) {
- System.out.println ("\tA \tB \tC \tD \tE");
- System.out.println ();
- for (int fila = 0; fila < 5; fila++) {
- System.out.print (fila + 1 + "");
- for (int columna = 0; columna < 5; columna++ ) {
- if (tablero [fila][columna] == -1) {
- System.out.print ("\t" + " ");
- } else if (tablero[fila][columna] == 0) {
- System.out.print ("\t" + "~");
- } else if (tablero[fila][columna] == 1) {
- System.out.print ("\t" + "*");
- }
- }
- System.out.println();
- }
- }
- public static void iniciarBarcos (int[][] barcos) {
- Random r = new Random();
- for (int barco = 0; barco < 4; barco++) {
- barcos [barco][0] = r.nextInt(5);
- barcos [barco][1] = r.nextInt(5);
- for (int últimoDisparo = 0; últimoDisparo < barco; últimoDisparo++) {
- if ((barcos [barco][0] == barcos [últimoDisparo][0]) && (barcos [barco][1] == barcos [últimoDisparo][1]));
- do {
- barcos [barco][0] = r.nextInt(5);
- barcos [barco][1] = r.nextInt(5);
- } while ((barcos [barco][0] == barcos [últimoDisparo][0]) && (barcos [barco][1] == barcos [últimoDisparo] [1]));
- }
- }
- }
- public static void disparo (int[] disparo) {
- Scanner s = new Scanner (System.in);
- System.out.println ("");
- System.out.print ("Fila: ");
- disparo [0] = s.nextInt();
- disparo [0]--;
- while (disparo [0] <= -1 || disparo [0] >= 5) {
- System.out.println ("");
- System.out.println ("El disparo sobrepasa los límites del tablero. Introduzca un nuevo valor.");
- System.out.println ("");
- System.out.print ("Fila: ");
- disparo [0] = s.nextInt();
- disparo [0]--;
- }
- System.out.println ("");
- System.out.print ("Columna: ");
- char c = s.next().charAt(0);
- if (c == 'A' || c == 'a') {
- disparo [1]--;
- disparo [1] = 0;
- } else if (c == 'B' || c == 'b') {
- disparo [1]--;
- disparo [1] = 1;
- } else if (c == 'C' || c == 'c') {
- disparo [1]--;
- disparo [1] = 2;
- } else if (c == 'D' || c == 'd') {
- disparo [1]--;
- disparo [1] = 3;
- } else if (c == 'E' || c == 'e') {
- disparo [1]--;
- disparo [1] = 4;
- } if (c == 'F' || c == 'f') {
- System.out.println ("");
- System.out.println ("El disparo sobrepasa los límites del tablero. Introduzca un nuevo valor.");
- System.out.println ("");
- System.out.print ("Columna: ");
- char h = s.next().charAt(0);
- if (h == 'A' || h == 'a') {
- disparo [1]--;
- disparo [1] = 0;
- } else if (h == 'B' || h == 'b') {
- disparo [1]--;
- disparo [1] = 1;
- } else if (h == 'C' || h == 'c') {
- disparo [1]--;
- disparo [1] = 2;
- } else if (h == 'D' || h == 'd') {
- disparo [1]--;
- disparo [1] = 3;
- } else if (h == 'E' || h == 'e') {
- disparo [1]--;
- disparo [1] = 4;
- }
- }
- }
- /* } else if (c >= 'F' || c >= 'f') {
- System.out.println ("");
- System.out.println ("El disparo sobrepasa los límites del tablero. Introduzca un nuevo valor.");
- System.out.println ("");
- System.out.print ("Columna: ");
- char h = s.next().charAt(0);
- if (h == 'A' || h == 'a') {
- disparo [1]--;
- disparo [1] = 0;
- } else if (h == 'B' || h == 'b') {
- disparo [1]--;
- disparo [1] = 1;
- } else if (h == 'C' || h == 'c') {
- disparo [1]--;
- disparo [1] = 2;
- } else if (h == 'D' || h == 'd') {
- disparo [1]--;
- disparo [1] = 3;
- } else if (h == 'E' || h == 'e') {
- disparo [1]--;
- disparo [1] = 4;
- }
- }*/
- public static boolean golpe (int[] disparo, int[][] barcos) {
- for (int barco = 0; barco < barcos.length; barco++) {
- if((disparo[0] == barcos [barco][0]) && (disparo[1] == barcos [barco][1])) {
- System.out.println ("Has disparado a un barco localizado en " + (disparo[0] + 1) + "," + (disparo[1] + 1));
- System.out.println("");
- return true;
- }
- }
- return false;
- }
- public static void disparos (int[] disparo, int[][] barcos, int intento) {
- int fila = 0;
- int columna = 0;
- for (int línea = 0 ; línea < barcos.length ; línea++) {
- if (barcos [línea][0] == disparo [0])
- fila++;
- if (barcos [línea][1] == disparo [1])
- columna++;
- }
- System.out.println ("");
- System.out.println ("Disparos: " + intento);
- System.out.println ("");
- System.out.println ("");
- }
- public static void cambiarTablero (int[] disparo, int[][] barcos, int[][] tablero) {
- if (golpe(disparo, barcos))
- tablero [disparo[0]][disparo[1]] = 1;
- else
- tablero [disparo[0]][disparo[1]] = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement