From daa0a7b0fc716ef182f39f804c755c7a6a0a2e01 Mon Sep 17 00:00:00 2001 From: Emanuel Lugo Date: Tue, 26 Apr 2022 21:07:50 -0400 Subject: [PATCH] Bugs resueltos en jugadas --- pokerGame.java | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------- 1 file changed, 92 insertions(+), 88 deletions(-) diff --git a/pokerGame.java b/pokerGame.java index d84e604..fe25fa4 100644 --- a/pokerGame.java +++ b/pokerGame.java @@ -1,3 +1,4 @@ + /** */ import java.util.ArrayList; @@ -5,127 +6,130 @@ import java.util.*; public class pokerGame { - public String jugadas(ArrayList mano){ + 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++ ; + 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++ ; + 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){ + /* + * 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"; - } 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 + } 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() ){ + 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 = "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" ; - + } 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("8S"); - carta2 = new Carta("8C"); - carta3 = new Carta("7S"); - carta4 = new Carta("7C"); - 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 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 SortbyValor()); - - System.out.println("") ; + Collections.sort(mano, new SortbyPalo()); - for (i=0; i