public class Poker { public static int manoGanadora(String mano) { int puntos = 0; switch (mano) { case "ESCALERA DE COLOR": puntos += 9; break; case "POKER": puntos += 8; break; case "FULL": puntos += 7; break; case "COLOR": puntos += 6; break; case "ESCALERA": puntos += 5; break; case "TRIO": puntos += 4; break; case "PAR DOBLE": puntos += 3; break; case "PAR": puntos += 2; break; case "CARTA MAYOR": puntos += 1; break; default: break; } return puntos; } // ------- Funcion de desempate ------- public static void desempate(int[] cartaGrande1, int[] cartaGrande2, String nombre1, String nombre2) { if (cartaGrande1[4] == cartaGrande2[4]) { boolean ganoJugador1 = false; boolean ganoJugador2 = false; boolean empateDefinitivo = false; boolean finalizar = false; int i = 3; while (finalizar == false) { if (cartaGrande1[i] > cartaGrande2[i]) { ganoJugador1 = true; finalizar = true; } else if (cartaGrande1[i] < cartaGrande2[i]) { ganoJugador2 = true; finalizar = true; } else if (cartaGrande1[i] == cartaGrande2[i]) { empateDefinitivo = true; finalizar = true; } i--; } if (ganoJugador1) { System.out.println("Felicidades " + nombre1 + ", Has Ganado en el Desempate"); } else if (ganoJugador2) { System.out.println("Felicidades " + nombre2 + ", Has Ganado en el Desempate"); } else if (empateDefinitivo) { System.out.println(nombre1 + " y " + nombre2 + " han empatado."); } } } public static void main(String[] args) { // -------------------------------------- // Jugadores Jugador jugador1 = new Jugador(); jugador1.pedirNombre(); String nombreJugador1 = jugador1.getNombre(); jugador1.pedirNombre(); String nombreJugador2 = jugador1.getNombre(); // -------------------------------------- // Generacion de Cartas Carta carta1 = new Carta("3C"); Carta carta2 = new Carta("3C"); Carta carta3 = new Carta("3S"); Carta carta4 = new Carta("5C"); Carta carta5 = new Carta("8C"); Carta carta6 = new Carta("2C"); Carta carta7 = new Carta("2C"); Carta carta8 = new Carta("2S"); Carta carta9 = new Carta("6C"); Carta carta10 = new Carta("8S"); // -------------------------------------- // Inicio de Comprobaciones Jugada jugada1 = new Jugada(); String x = jugada1.ejecutarComprobaciones(carta1, carta2, carta3, carta4, carta5); System.out.println("Jugada X " + jugada1.getPosibleJugada()); String z = jugada1.ejecutarComprobaciones(carta6, carta7, carta8, carta9, carta10); System.out.println("Jugada Z " + jugada1.getPosibleJugada()); // ----------- Comprobacion de mano ganadora ---------- int puntosMano1 = manoGanadora(x); int puntosMano2 = manoGanadora(z); System.out.println("Puntos Jugador 1 = " + puntosMano1); System.out.println("Puntos Jugador 2 = " + puntosMano2); if (puntosMano1 > puntosMano2) { System.out.println(nombreJugador1 + " gano con: " + x); } else if (puntosMano1 > puntosMano2) { System.out.println(nombreJugador2 + " gano con: " + x); } else if (puntosMano1 == puntosMano2) { int[] mano1Numeros = jugada1.valoresNumericosEnArray(jugada1.crearArray(carta1, carta2, carta3, carta4, carta5)); int[] mano2Numeros = jugada1.valoresNumericosEnArray(jugada1.crearArray(carta6, carta7, carta8, carta9, carta10)); desempate(mano1Numeros, mano2Numeros, nombreJugador1, nombreJugador2); } } }