import javax.sound.sampled.Port; import javax.lang.model.element.Element; import javax.print.DocFlavor.STRING; import java.util.Arrays; public class Poker { public String suit = ""; public String values = ""; public Poker(){ values = ""; suit = ""; } public String getSuit(){ return suit; } public String getValue(){ return values; } public void setValues(String carta){ values = ordenarCadena(values + String.valueOf(carta.charAt(0))); suit = ordenarCadena(suit + String.valueOf(carta.charAt(1))); } //Recibe un string y lo ordena segun orden numerico o alfabetico public String ordenarCadena(String original){ String numeroAOrdenar = original; numeroAOrdenar = original; char[] chars = numeroAOrdenar.toCharArray(); Arrays.sort(chars); String cadenaOrdenada = new String(chars); return cadenaOrdenada; } //***********CONTROLA LA JUGADA QUE SE DA EN LOS PALOS public String controlPalos(String palos){ int contador = 0; for (int i = 0; i < palos.length(); i++) { for (int j = 0; j < palos.length(); j++) { if (palos.charAt(i) == palos.charAt(j)) { contador++; } } } if (contador == 25) { return "COLOR"; } else { //Para mejor manejo si no cumple ninguna de las condiciones envia una cadena vacia return ""; } } //***********CONTROLA QUE JUGADA SE DA EN LOS VALORES public String controlValor(String valores){ int contador = 0; int secuencial = 0; boolean thereIsLetter = false; for (int i = 0; i < valores.length(); i++) { for (int j = 0; j < valores.length(); j++) { if (valores.charAt(i) == valores.charAt(j)) { contador++; } } } if (contador < 6) { //controla que existan letras en los valores mandados for (int i = 0; i < valores.length(); i++) { String l = String.valueOf(valores.charAt(i)); if (l == "T" || l == "J" || l == "Q" || l == "K" || l == "A") { thereIsLetter = true; break; } } //Una condicional para el caso que existan letras if(thereIsLetter == true){ //Para mejor entendimiento visual lo guardo en una variable de nombre mas corto String v = getValue(); if ( (v.equals("89JQT")) || (v.equals("9JKQT")) || ((v).equals("AJKQT")) ||(v.equals("2345A")) || (v.equals("789JT")) ||(v.equals("6789T"))){ return "ESCALERA"; } }else{ for (int i = 1; i < valores.length(); i++) { if (Character.getNumericValue(valores.charAt(i)) == Character.getNumericValue(valores.charAt(i-1)) + 1) { secuencial++; } } if (secuencial == 4) { return "ESCALERA"; } } }else if (contador == 17) { return "POKER"; }else if(contador == 13){ return "FULL"; }else if(contador == 11){ return "TRIO"; }else if(contador == 9){ return "PAR DOBLE"; }else if(contador == 7){ return "PAR"; } //Para mejor manejo si no cumple ninguna de las condiciones envia una cadena vacia return ""; } public static void main(String[] args) { Carta carta1 = new Carta("2D"); Carta carta2 = new Carta("3D"); Carta carta3 = new Carta("4D"); Carta carta4 = new Carta("7D"); Carta carta5 = new Carta("6D"); Poker partida = new Poker(); //Le paso los valores con el metodo del profe partida.setValues(carta1.valorPalo()); partida.setValues(carta2.valorPalo()); partida.setValues(carta3.valorPalo()); partida.setValues(carta4.valorPalo()); partida.setValues(carta5.valorPalo()); if ((partida.controlValor(partida.getValue())== "") && (partida.controlPalos(partida.getSuit())== "")) { System.out.println("CARTA ALTA"); }else{ System.out.println(partida.controlValor(partida.getValue()) + " " + partida.controlPalos(partida.getSuit())); } } }