diff --git a/Juego.java b/Juego.java index f5d2e16..dbeaa5a 100644 --- a/Juego.java +++ b/Juego.java @@ -71,54 +71,85 @@ public class Juego { //Dos cartas iguales (mismo valor) junto con tres cartas iguales (mismo valor). public boolean full(List cartas) { - List valores = new ArrayList<>(); - for (Carta c : cartas) { - valores.add(extraer(c.valor)); - } - Collections.sort(valores); - int[] numerosArray = pasarAArray(valores); - int con=0; - for (int i = 0; i < numerosArray.length-1; i++) { - if (numerosArray[i] == numerosArray[i+1]) { - con++; - if (con==3 && numerosArray[2] == numerosArray[4]){ - return true; - }else if(con==3 && numerosArray[2] == numerosArray[0]){ - return true; + if(comprobarPoker(cartas)==3){ + List valores = new ArrayList<>(); + for (Carta c : cartas) { + valores.add(extraer(c.valor)); + } + Collections.sort(valores); + int[] numerosArray = pasarAArray(valores); + int con=0; + for (int i = 0; i < numerosArray.length-1; i++) { + if (numerosArray[i] == numerosArray[i+1]) { + con++; + if (con==3 && numerosArray[2] == numerosArray[4]){ + return true; + }else if(con==3 && numerosArray[2] == numerosArray[0]){ + return true; + } } } + return false; + }else { + return false; } - return false; } //Cuatro cartas iguales (mismo valor). public boolean poker(List cartas) { - List valores = new ArrayList<>(); - for (Carta c : cartas) { - valores.add(extraer(c.valor)); - } - Collections.sort(valores); - int counter=0; - int numero=0; - int cantidadNumero=0; - for(int i=1; i<14; i++){ - for (int j=0; j valores = new ArrayList<>(); + comprobarPoker(cartas); + for (Carta c : cartas) { + valores.add(extraer(c.valor)); + } + Collections.sort(valores); + int counter=0; + int numero=0; + int cantidadNumero=0; + for(int i=1; i<14; i++){ + for (int j=0; j cantidadNumero){ + numero=i; + cantidadNumero=counter; } + counter=0; } - if(counter > cantidadNumero){ - numero=i; - cantidadNumero=counter; + if (cantidadNumero==4){ + return true; + }else { + return false; } - counter=0; - } - if (cantidadNumero==4){ - return true; + }else { return false; } + } + + private int comprobarPoker(List cartas) { + int contador = 0; + for (Carta c: cartas) { + + if (c.palo.equals("K")) { + contador++; + } + if (c.palo.equals("Q")) { + contador++; + } + if (c.palo.equals("K")) { + contador++; + } + if (c.palo.equals("C")) { + contador++; + } + } + + return contador; } diff --git a/Main.java b/Main.java index ff13b8d..b0c67f2 100644 --- a/Main.java +++ b/Main.java @@ -12,7 +12,7 @@ public class Main { new Carta("QH"), new Carta("QH"), new Carta("QH"), - new Carta("5S"), + new Carta("TS"), new Carta("9C") ); diff --git a/out/production/poker/Juego.class b/out/production/poker/Juego.class index ba5f5ce..8a41b87 100644 Binary files a/out/production/poker/Juego.class and b/out/production/poker/Juego.class differ diff --git a/out/production/poker/Main.class b/out/production/poker/Main.class index 03cd4e9..697be62 100644 Binary files a/out/production/poker/Main.class and b/out/production/poker/Main.class differ