mmasias / prg1-22-23

Repo de la asignatura de Programación 1
7 stars 51 forks source link

whacAMole #255

Open Mariodrm17 opened 1 year ago

Mariodrm17 commented 1 year ago

import java.util.Scanner; public class WhacAMoleConMetodos { Scanner scanner = new Scanner (System.in); static int golpeHorizontalJugador=0; static int golpeVerticalJugador=0; static int posicionTopoHorizontal=0; static int posicionTopoVertical=0; static int posicionTopoHorizontal2=0; static int posicionTopoVertical2=0; static int contadorPuntos=0; static int i=0; static int j=0; static int contadorTurnos=1; public static void main(String[] args) { int filas = 4; int columnas = 4; while(contadorTurnos<=15){ posiciondeJugador(); posicionTopo1(); posicionTopo2(); trayecto(); for (i = 1; i <= filas; i++) { for (j = 1; j <= columnas; j++) { mapa(); } } recordadtorioPuntos(); } mensajeFinal(); }

static void posiciondeJugador (){
    Scanner scanner = new Scanner (System.in);
    System.out.println("Elija un hueco en horizontal al que golpear del 1 al 4");
        golpeHorizontalJugador = scanner.nextInt();
        System.out.println("Elija un hueco en vertical al que golpear del 1 al 4");
        golpeVerticalJugador = scanner.nextInt();
        while(golpeHorizontalJugador<=0 || golpeHorizontalJugador > 4){
            System.out.println("MAAAAL, elija un numero horizontal al que golpear entre el 1 y el 4 ");
            golpeHorizontalJugador = scanner.nextInt();
        }
        while(golpeVerticalJugador<=0 || golpeVerticalJugador > 4){
            System.out.println("MAAAAL, elija un numero vertical al que golpear entre el 1 y el 4 ");
            golpeVerticalJugador = scanner.nextInt();
        }
}

static void posicionTopo1(){
    posicionTopoHorizontal=(int)(Math.random()*4)+1;
    posicionTopoVertical=(int)(Math.random()*4)+1;
}

static void posicionTopo2(){
    posicionTopoHorizontal2=(int)(Math.random()*4)+1;
    posicionTopoVertical2=(int)(Math.random()*4)+1;
}

static void trayecto(){
    System.out.println("golpeas en ["+ golpeHorizontalJugador +","+ golpeVerticalJugador +"] / Ha salido el topo en [" + posicionTopoHorizontal +","+ posicionTopoVertical +"] y en [" + posicionTopoHorizontal2 +","+ posicionTopoVertical2 +"]" );
}

static void mapa(){
    if(posicionTopoHorizontal==golpeHorizontalJugador && posicionTopoVertical==golpeVerticalJugador && golpeHorizontalJugador==i && golpeVerticalJugador==j){
        System.out.print("[**]");
        contadorPuntos++;
    }else if(posicionTopoHorizontal2==golpeHorizontalJugador && posicionTopoVertical2==golpeVerticalJugador && golpeHorizontalJugador==i && golpeVerticalJugador==j){
        System.out.print("[**]");
        contadorPuntos++;
    }else if(posicionTopoHorizontal==i && posicionTopoVertical==j){
        System.out.print("(‘’)");
    }else if(posicionTopoHorizontal2==i && posicionTopoVertical2==j){
        System.out.print("(‘’)");
    }else if(golpeHorizontalJugador==i && golpeVerticalJugador==j){
        System.out.print("[[]]");
    }else{
        System.out.print("(  )");
    }
}

static void recordadtorioPuntos(){
    System.out.println("Turno: [" + contadorTurnos +"] Aciertos: [" + contadorPuntos +"]");
    contadorTurnos++;
}

static void mensajeFinal(){
    System.out.println("");
    System.out.println("El juego ha TERMINADO ha conseguido ["+ contadorPuntos +"] aciertos");
}

}

mmasias commented 1 year ago

@Mariodrm17: dale un vistazo a la solución propuesta aquí. Extiende lo que vimos en la tutoría de hoy y además permite que aumentes el número de monigotes "simplemente" agregando elementos al array posicionMonigotes:

int[] posicionMonigotes = { 0, 0, 0, 0 };  // 4 monigotes
int[] posicionMonigotes = { 0, 0, 0, 0, 0, 0 };  // 6 monigotes
int[] posicionMonigotes = { 0 };  // 1 monigote

image