/** */ 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 == 2 && mano.get(3).getValorInt() == mano.get(4).getValorInt()) || (valoresIguales == 2 && mano.get(0).getValorInt() == mano.get(1).getValorInt())) { return resultado = "FULL";} else if (valoresIguales == 2){ return resultado = "TRIO"; } 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("AS"); carta2 = new Carta("TS"); carta3 = new Carta("JS"); carta4 = new Carta("QS"); carta5 = new Carta("KS"); mano.add(carta5) ; mano.add(carta4) ; mano.add(carta3) ; mano.add(carta2) ; mano.add(carta1) ; System.out.println(mano); for (i=0; i