pokerGame.java 4.66 KB
Newer Older
Emanuel Lugo committed
1 2
/** */

3 4
import java.util.ArrayList;
import java.util.*;
Emanuel Lugo committed
5 6 7

public class pokerGame {

8 9
    public String jugadas(ArrayList<Carta> mano){
        String resultado;
Emanuel Lugo committed
10
        
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
        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++;
            }
        } 
Emanuel Lugo committed
57
        
58 59 60
       
        if (valoresIguales == 3 && mano.get(3).getValorInt() != mano.get(4).getValorInt()) {
            return resultado = "POKER";    
Emanuel Lugo committed
61
        }else if ((valoresIguales == 3 && mano.get(3).getValorInt() == mano.get(4).getValorInt()) || (valoresIguales == 3 && mano.get(0).getValorInt() == mano.get(1).getValorInt())) 
62 63
            {
            return resultado = "FULL";}
Emanuel Lugo committed
64
                else if ((valoresIguales == 2 && mano.get(3).getValorInt() != mano.get(4).getValorInt()) || (valoresIguales == 2 && mano.get(0).getValorInt() != mano.get(1).getValorInt())){  
65 66 67
                    return resultado = "TRIO";

                }
Emanuel Lugo committed
68
        
Emanuel Lugo committed
69 70 71
         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" ;
Emanuel Lugo committed
72
        
73
        return resultado = "CARTA ALTA";
Emanuel Lugo committed
74 75 76 77
    }

        public static void main(String[] args) {
            pokerGame poker = new pokerGame();
78
            String resultado;
Emanuel Lugo committed
79
            int i;
80 81
            Carta carta1, carta2, carta3, carta4, carta5 ;
            ArrayList<Carta> mano = new ArrayList<Carta>();
Emanuel Lugo committed
82 83 84 85
            carta1 = new Carta("8S");
            carta2 = new Carta("8C");
            carta3 = new Carta("7S");
            carta4 = new Carta("7C");
86
            carta5 = new Carta("KS");
87 88 89 90 91
            mano.add(carta5) ;
            mano.add(carta4) ; 
            mano.add(carta3) ;
            mano.add(carta2) ;
            mano.add(carta1) ;
92
            System.out.println(mano);
93 94 95 96 97 98 99 100 101 102

            for (i=0; i<mano.size(); i++)
            System.out.println(mano.get(i).valorPalo() );

            Collections.sort(mano, new SortbyPalo());
            
            System.out.println("") ;

            for (i=0; i<mano.size(); i++)
            System.out.println(mano.get(i).valorPalo());
Emanuel Lugo committed
103 104 105
            
            

106 107 108 109 110
            Collections.sort(mano, new SortbyValor());
            
            System.out.println("") ;

            for (i=0; i<mano.size(); i++)
111
            System.out.println(mano.get(i).valorPalo()); 
112

113 114 115 116 117 118
            Collections.sort(mano, new SortbyValor());

            System.out.println("") ;

            for (i=0; i<mano.size(); i++)
            System.out.println(mano.get(i).valorPalo());
Emanuel Lugo committed
119 120 121



122 123
            resultado = poker.jugadas(mano);
            System.out.println(resultado);
Emanuel Lugo committed
124 125 126 127 128 129 130 131
        }






}