/** */ import java.util.ArrayList; import java.util.*; public class pokerGame { public String jugadas(ArrayList mano) { String resultado; Collections.sort(mano, new SortbyValor()); int contadorValor = 0; int contadorPalo = 0; int valorCarta, valorSgteCarta, aux; for (int i = 0; i < 4; i++) { // System.out.println(mano.get(i).getValorInt() + ": valor carta1"); // System.out.println(mano.get(i+1).getValorInt() + ": valor carta2"); valorCarta = mano.get(i).getValorInt(); // trae el valor entero contenido en la carta valorSgteCarta = mano.get(i + 1).getValorInt(); // trae el valor entero contenido en la carta siguiente if (mano.get(i).palo.equals(mano.get(i + 1).palo)) contadorPalo++; aux = valorCarta + 1; if (aux == valorSgteCarta) contadorValor++; System.out.println("contador SECUENCIAL: " + contadorValor); System.out.println("contador PALOSIGUALES: " + contadorPalo); } /* * int contadorPalo = 0; * for (int i=0;i<4;i++) { * //System.out.println("PALO de la carta1: " +mano.get(i).getPalo()); * //System.out.println("PALO de la carta2: " +mano.get(i+1).getPalo()); * if (mano.get(i).palo.equals(mano.get(i+1).palo)) contadorPalo++ ; // CUENTA * CUANTAS CARTAS SON DEL MISMO PALO * System.out.println("contador PALOSIGUALES: " + contadorPalo); * } * */ if (contadorValor == 3 && mano.get(0).getValorInt() == 1 && mano.get(4).getValorInt() == 13) { return resultado = "ESCALERA COLOR"; } if (contadorValor == 4 && contadorPalo == 4) { return resultado = "ESCALERA COLOR"; } else if (contadorValor == 4) { return resultado = "ESCALERA"; } else if (contadorPalo == 4) { return resultado = "COLOR"; } // CASOS PARA POKER Y FULL int valoresIguales = 0; valoresIguales = 0; for (int i = 0; i < 4; i++) { if (mano.get(i).getValorInt() == mano.get(i + 1).getValorInt()) { valoresIguales++; } } if (valoresIguales == 3 && mano.get(3).getValorInt() != mano.get(4).getValorInt()) { return resultado = "POKER"; } else if ((valoresIguales == 3 && mano.get(3).getValorInt() == mano.get(4).getValorInt()) || (valoresIguales == 3 && mano.get(0).getValorInt() == mano.get(1).getValorInt())) { return resultado = "FULL"; } else if ((valoresIguales == 2 && mano.get(3).getValorInt() != mano.get(4).getValorInt()) || (valoresIguales == 2 && mano.get(0).getValorInt() != mano.get(1).getValorInt())) { return resultado = "TRIO"; } if ((valoresIguales == 2 && mano.get(1).getValorInt() != mano.get(2).getValorInt()) || (valoresIguales == 2 && mano.get(2).getValorInt() != mano.get(4).getValorInt())) { return resultado = "DOBLE DUO"; } else if (valoresIguales == 1) return resultado = "DUO"; return resultado = "CARTA ALTA"; } public static void main(String[] args) { pokerGame poker = new pokerGame(); String resultado; int i; Carta carta1, carta2, carta3, carta4, carta5; ArrayList mano = new ArrayList(); carta1 = new Carta("6S "); carta2 = new Carta("6C "); carta3 = new Carta("KD "); carta4 = new Carta("AD "); carta5 = new Carta("AC"); mano.add(carta1); mano.add(carta2); mano.add(carta3); mano.add(carta4); mano.add(carta5); /* * for (i = 0; i < 5; i++) { * System.out.println(mano.get(i).valorPalo()); * } */ for (i = 0; i < mano.size(); i++) System.out.println(mano.get(i).valorPalo()); Collections.sort(mano, new SortbyPalo()); System.out.println(""); for (i = 0; i < mano.size(); i++) System.out.println(mano.get(i).valorPalo()); Collections.sort(mano, new SortbyValor()); System.out.println(""); for (i = 0; i < mano.size(); i++) System.out.println(mano.get(i).valorPalo()); Collections.sort(mano, new SortbyValor()); System.out.println(""); for (i = 0; i < mano.size(); i++) System.out.println(mano.get(i).valorPalo()); resultado = poker.jugadas(mano); System.out.println(resultado); } }