Commit c6175c7d by Emanuel Lugo

DETECTA MAS JUGADAS POSIBLES

parent 7116abc8
...@@ -11,19 +11,40 @@ public class Carta { ...@@ -11,19 +11,40 @@ public class Carta {
public Carta (String completo) 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)); this.palo = String.valueOf(completo.charAt(1));
} }
String valorPalo() 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;
}
......
...@@ -6,6 +6,8 @@ class SortbyPalo implements Comparator<Carta> ...@@ -6,6 +6,8 @@ class SortbyPalo implements Comparator<Carta>
// Ordenar por Palo // Ordenar por Palo
public int compare(Carta a, Carta b) public int compare(Carta a, Carta b)
{ {
// int aux1, aux2;
return a.palo.compareTo(b.palo) ; return a.palo.compareTo(b.palo) ;
} }
} }
\ No newline at end of file
...@@ -5,7 +5,13 @@ class SortbyValor implements Comparator<Carta> ...@@ -5,7 +5,13 @@ class SortbyValor implements Comparator<Carta>
// Used for sorting in ascending order of // Used for sorting in ascending order of
// Ordenar por Palo // Ordenar por Palo
public int compare(Carta a, Carta b) public int compare(Carta a, Carta b)
{ { int aux1 = a.getValorInt();
return a.valor.compareTo(b.valor) ; int aux2 = b.getValorInt();
if (aux1 > aux2) return 1;
else return -1 ;
} }
} }
\ No newline at end of file
/** */ /** */
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.*; import java.util.*;
public class pokerGame { public class pokerGame {
public String jugadas(Carta manoAux[]){ public String jugadas(ArrayList<Carta> 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";
}
...@@ -20,25 +72,31 @@ public class pokerGame { ...@@ -20,25 +72,31 @@ public class pokerGame {
return null;
return resultado = "CARTA ALTA";
} }
public static void main(String[] args) { public static void main(String[] args) {
pokerGame poker = new pokerGame(); pokerGame poker = new pokerGame();
String resultado;
int i; int i;
Carta carta1, carta2, carta3, carta4, carta5 ; Carta carta1, carta2, carta3, carta4, carta5 ;
ArrayList<Carta> mano = new ArrayList<Carta>(); ArrayList<Carta> mano = new ArrayList<Carta>();
carta1 = new Carta("AS"); carta1 = new Carta("AS");
carta2 = new Carta("2S"); carta2 = new Carta("TS");
carta3 = new Carta("3S"); carta3 = new Carta("JS");
carta4 = new Carta("4S"); carta4 = new Carta("QS");
carta5 = new Carta("5S"); carta5 = new Carta("KS");
mano.add(carta5) ; mano.add(carta5) ;
mano.add(carta4) ; mano.add(carta4) ;
mano.add(carta3) ; mano.add(carta3) ;
mano.add(carta2) ; mano.add(carta2) ;
mano.add(carta1) ; mano.add(carta1) ;
//System.out.println(mano); System.out.println(mano);
for (i=0; i<mano.size(); i++) for (i=0; i<mano.size(); i++)
System.out.println(mano.get(i).valorPalo() ); System.out.println(mano.get(i).valorPalo() );
...@@ -59,9 +117,17 @@ public class pokerGame { ...@@ -59,9 +117,17 @@ public class pokerGame {
for (i=0; i<mano.size(); i++) for (i=0; i<mano.size(); i++)
System.out.println(mano.get(i).valorPalo()); System.out.println(mano.get(i).valorPalo());
Collections.sort(mano, new SortbyValor());
System.out.println("") ;
for (i=0; i<mano.size(); i++)
System.out.println(mano.get(i).valorPalo());
resultado = poker.jugadas(mano);
System.out.println(resultado);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment