diff --git a/Carta.java b/Carta.java index 8cb1d2d..7a1d774 100644 --- a/Carta.java +++ b/Carta.java @@ -11,21 +11,42 @@ public class Carta { public Carta (String completo) { - this.valor = String.valueOf(completo.charAt(0)); + if (completo.charAt(0) == 'A') this.valor = "1" ; + else if (completo.charAt(0) == 'T') this.valor = "10" ; + else if (completo.charAt(0) == 'J') this.valor = "11" ; + else if (completo.charAt(0) == 'Q') this.valor = "12" ; + else if (completo.charAt(0) == 'K') this.valor = "13" ; + else this.valor = String.valueOf(completo.charAt(0)); + + + this.palo = String.valueOf(completo.charAt(1)); } String valorPalo() { - return this.valor + this.palo; + if (this.valor.equals("1")) {return "A" + " " +this.palo; + }else if (this.valor.equals("10")) {return "T" + " " +this.palo; + } else if (this.valor.equals("11")) {return "J"+ " " +this.palo; + }else if (this.valor.equals("12")) {return "Q"+ " " +this.palo; + } else if (this.valor.equals("13")) {return "K" + " " +this.palo; + }else return this.valor + " " +this.palo; + } + public int getValorInt () { + int aux = Integer.parseInt(this.valor); + return aux; + } + public String getPalo() { + return this.palo; - - + } + + } diff --git a/SortbyPalo.java b/SortbyPalo.java index 892e8eb..e18c9f1 100644 --- a/SortbyPalo.java +++ b/SortbyPalo.java @@ -5,7 +5,9 @@ class SortbyPalo implements Comparator // Used for sorting in ascending order of // Ordenar por Palo public int compare(Carta a, Carta b) - { - return a.palo.compareTo(b.palo) ; - } + { + // int aux1, aux2; + + return a.palo.compareTo(b.palo) ; + } } \ No newline at end of file diff --git a/SortbyValor.java b/SortbyValor.java index 34f30b8..f02da12 100644 --- a/SortbyValor.java +++ b/SortbyValor.java @@ -5,7 +5,13 @@ class SortbyValor implements Comparator // Used for sorting in ascending order of // Ordenar por Palo public int compare(Carta a, Carta b) - { - return a.valor.compareTo(b.valor) ; + { int aux1 = a.getValorInt(); + int aux2 = b.getValorInt(); + + if (aux1 > aux2) return 1; + else return -1 ; + } + + } \ No newline at end of file diff --git a/pokerGame.java b/pokerGame.java index 65bc8cb..1576f4b 100644 --- a/pokerGame.java +++ b/pokerGame.java @@ -1,44 +1,102 @@ /** */ import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Scanner; import java.util.*; public class pokerGame { - public String jugadas(Carta manoAux[]){ - - - - - + 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 null; + 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("2S"); - carta3 = new Carta("3S"); - carta4 = new Carta("4S"); - carta5 = new Carta("5S"); + 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); + System.out.println(mano); for (i=0; i