package EstructurasControl;

import java.util.Random;
import java.util.Scanner;

public class Practica_Profesor {
    public static void main(String[] args) {
        //DECLARACIÓN DE VARIABLES
        int contadorVictoriasJugador1 = 0, contadorVictoriasJugador2 = 0;
        String palabraJugador1, palabraJugador2;
        String nombreJugador1 = "CPU", nombreJugador2;
        int contadorRondas = 0;

        //DECLARACIÓN DE OBJETOS
        Random rd = new Random();

        //DECLARACIÓN DE CONSTANTES
        final String PIEDRA = "Piedra", PAPEL = "Papel", TIJERA = "Tijera";


        Scanner sc = new Scanner(System.in);
        System.out.println("Inserta tu nombre: ");
        nombreJugador2 = sc.next();



        do {
            contadorRondas++;
            //System.out.println("Turno jugador 1: ");
            palabraJugador1 = "";
            //Esto se debería hacer en un método y utilizarlo pero aún no hemos llegado a ver ni métodos ni array.
            //Así que lo haré de una forma no recomendada, aunque si recomendada si solo se tiene en cuenta el punto en el que nos encontramos
            int opcionElegida = rd.nextInt(1, 3 + 1);
            //¿Qué opción ha elegido?

            switch (opcionElegida) {
                case 1:
                    palabraJugador1 = PIEDRA;
                    break;
                case 2:
                    palabraJugador1 = PAPEL;
                    break;
                case 3:
                    palabraJugador1 = TIJERA;
                    break;
                default:
                    palabraJugador1 = PIEDRA;
                    //Por defecto, la opción es Piedra
                    // (Puesto que no hemos visto las excepciones)
                    break;
            }
            //System.out.println(nombreJugador2 + " es tu turno: ");
            System.out.println(nombreJugador2 + " Elija una opción:\n" + PIEDRA + "\n" +
                    PAPEL + "\n" + TIJERA);
            palabraJugador2 = sc.next();
            System.out.println("La opción elegida de " + nombreJugador1 + " ha sido: " + palabraJugador1);

            //Tijera [Tiene 3 posibilidades (Tijera vs Piedra), (Tijera vs Papel), *(Tijera vs Tijera)* [Los empates se resuelven con ELSE final]

            //AMG. Imprimo el enfrentamiento
            System.out.println("("+nombreJugador1 + ") " + palabraJugador1 + " vs "  + palabraJugador2+ " ("+nombreJugador2 + ") ");
            if (palabraJugador1.equalsIgnoreCase("Piedra") && palabraJugador2.equalsIgnoreCase("Papel")) {
                contadorVictoriasJugador2++;
                System.out.println("Victoria de " + nombreJugador2);
            } else if (palabraJugador1.equalsIgnoreCase("Piedra") && palabraJugador2.equalsIgnoreCase("Tijera")) {
                contadorVictoriasJugador1++;
                System.out.println("Victoria de " + nombreJugador1);

            } else if (palabraJugador1.equalsIgnoreCase("Papel") && palabraJugador2.equalsIgnoreCase("Tijera")) {
                contadorVictoriasJugador2++;
                System.out.println("Victoria de " + nombreJugador2);
            } else if (palabraJugador1.equalsIgnoreCase("Papel") && palabraJugador2.equalsIgnoreCase("Piedra")) {
                contadorVictoriasJugador1++;
                System.out.println("Victoria de " + nombreJugador1);
            } else if (palabraJugador1.equalsIgnoreCase("Tijera") && palabraJugador2.equalsIgnoreCase("Papel")) {
                contadorVictoriasJugador1++;
                System.out.println("Victoria de " + nombreJugador1);
            } else if (palabraJugador1.equalsIgnoreCase("Tijera") && palabraJugador2.equalsIgnoreCase("Piedra")) {
                contadorVictoriasJugador2++;
                System.out.println("Victoria de " + nombreJugador2);
            } else {
                System.out.println("Empate!!!");
            }

            //Imprimimos las estadísticas
            System.out.println("\n");
            System.out.println("ESTADÍSTICAS GENERALES");
            System.out.println("Victorias "+nombreJugador1+" "+contadorVictoriasJugador1);
            System.out.println("Victorias "+nombreJugador2+" "+contadorVictoriasJugador2);
            System.out.println("Rondas Totales "+contadorRondas);
            System.out.println("\n\n");

        } while (contadorVictoriasJugador1 < 3 && contadorVictoriasJugador2 < 3);

        if (contadorVictoriasJugador1 == 3) {
            System.out.println("Ha ganado "+nombreJugador1);
        } else {
            System.out.println("Ha ganado " + nombreJugador2);
        }





    }
}
