Poker.java 4.11 KB
Newer Older
1 2 3 4 5
import javax.sound.sampled.Port;
import javax.lang.model.element.Element;
import javax.print.DocFlavor.STRING;
import java.util.Arrays;

Yovan Martinez committed
6 7
public class Poker {

8 9 10 11 12 13 14 15 16 17 18 19 20
    public String suit = "";
    public String values = "";

    public Poker(){
        values = "";
        suit = "";
    }

    public String getSuit(){
        return suit;
    }
    public String getValue(){
        return values;
Yovan Martinez committed
21
    }
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

    public void setValues(String carta){
        values = ordenarCadena(values + carta);
    }
    public void setSuits(String carta){
        suit = ordenarCadena(suit + carta);
    }
    //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
Yovan Martinez committed
39 40 41 42 43 44 45 46 47 48
    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) {
49
            return "COLOR";
Yovan Martinez committed
50
        } else {
51
            return "";
Yovan Martinez committed
52 53
        }
    }
54 55 56 57 58 59 60 61 62
   //***********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++;
Yovan Martinez committed
63 64
            }
        }
65 66 67 68 69 70 71 72
    }
    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;
Yovan Martinez committed
73 74
            }
        }
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
        //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";
Yovan Martinez committed
102
    }
103 104
    return "";
}
Yovan Martinez committed
105 106
    public static void main(String[] args) {

107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
        Carta carta1 = new Carta("2D");
        Carta carta2 = new Carta("3S");
        Carta carta3 = new Carta("4C");
        Carta carta4 = new Carta("5H");
        Carta carta5 = new Carta("6H");
        Poker partida = new Poker();
        //Le paso los palos con el metodo del profe 
        partida.setSuits(carta1.palo);
        partida.setSuits(carta2.palo);
        partida.setSuits(carta3.palo);
        partida.setSuits(carta4.palo);
        partida.setSuits(carta5.palo);
        //Le paso los valores con el metodo del profe
        partida.setValues(carta1.valor);
        partida.setValues(carta2.valor);
        partida.setValues(carta3.valor);
        partida.setValues(carta4.valor);
        partida.setValues(carta5.valor);

        System.out.println(partida.controlValor(partida.getValue()) + " " + partida.controlPalos(partida.getSuit()));
Yovan Martinez committed
127 128 129

    }
}