Commit dd9499f1 by Angel Zarate

Poker version 1.0

parents
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/JuegoPK.iml" filepath="$PROJECT_DIR$/JuegoPK.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
package Poker;
public class Carta {
public String valor;
public String palo;
public Carta()
{
}
public Carta(String completo)
{
this.valor = String.valueOf(completo.charAt(0));
this.palo = String.valueOf(completo.charAt(1));
}
String valorPalo()
{
return this.valor + this.palo;
}
}
package Poker;
import java.util.Arrays;
public class Jugada {
String posibleJugada = "CARTA ALTA";
public Jugada() {
}
// ----------------------------------------------------------------------------------------------------
// ---------------------- Metodos Auxiliares ----------------------
// Metodo para Crear el Array con los objetos Carta
public String[] crearArray(Carta carta1, Carta carta2, Carta carta3, Carta carta4, Carta carta5) {
String[] mano = new String[5];
mano[0] = carta1.valorPalo();// 1 1 1 2 2
mano[1] = carta2.valorPalo();// 0 1 2 3 4
mano[2] = carta3.valorPalo();
mano[3] = carta4.valorPalo();
mano[4] = carta5.valorPalo();
return mano;
}
// Metodo para separar los los valores numericos de los palos
public int[] valoresNumericosEnArray(String[] mano) {
// sEPARAR LOS NUMEROS DE LS PALOS
int[] valorNumerico = new int[5];
for (int i = 0; i < mano.length; i++) {
// Guardo en var tipo String el primer caracter del String, que seria el valor
// numerico de la mano
String valorNumericoString = String.valueOf(mano[i].charAt(0));
// Guarda en el array de valores numericos el numero convertido en int
switch (valorNumericoString) {
case "A":
valorNumerico[i] = 1;
break;
case "T":
valorNumerico[i] = 10;
break;
case "J":
valorNumerico[i] = 11;
break;
case "Q":
valorNumerico[i] = 12;
break;
case "K":
valorNumerico[i] = 13;
break;
default:
valorNumerico[i] = Integer.parseInt(valorNumericoString);
break;
}
}
// Ordeno el Array Numerico de menor a mayor
Arrays.sort(valorNumerico);
return valorNumerico;
}
// Metodo para separar los los palos de los valores numericos
public String[] palosEnUnArray(String[] mano) {
String[] valorPalo = new String[5];
for (int i = 0; i < mano.length; i++) {
String valorPaloString = String.valueOf(mano[i].charAt(1));
valorPalo[i] = valorPaloString;
}
return valorPalo;
}
// Metodo para retornar el contador de coincidencias
public int contadorDeCartasCoincidentes(int[] mano) {
int contador = 0;
for (int i = 0; i < mano.length - 1; i++) {
if (mano[i] == mano[i + 1]) {
contador++;
}
}
System.out.println("CONTADOR ES: " + contador);
return contador;
}
// ----------------------------------------------------------------------------------------------------
// ---------------------- Metodos De Comprobacion ----------------------
// Metodo Escalera De Color
public void escaleraColor(Carta c1, Carta c2, Carta c3, Carta c4, Carta c5) {
String[] mano = crearArray(c1, c2, c3, c4, c5);
int[] manoNumerica = valoresNumericosEnArray(mano);
String[] manoPalos = palosEnUnArray(mano);
// Prueba
for (int i = 0; i < manoNumerica.length -1; i++) {
System.out.println("Linea 90 " + manoNumerica[i]);
}
int contador1 = 0;
for (int i = 0; i < manoNumerica.length - 1; i++) {
// Si el dado en la posicion [0] es 1 y le sumas 1, el resultado debe ser igual
// al dado de la posicion siguiente
if (manoNumerica[i] + 1 == manoNumerica[i + 1]) {
contador1++;
}
}
int contador2 = 0;
for (int i = 0; i < manoPalos.length; i++) {
if (manoPalos[i].equals(manoPalos[i + 1])) {
contador2++;
}
}
if (contador1 == 4 && contador2 == 4 || contador1 == 3 && contador2 == 4 && manoNumerica[0] == 1 && manoNumerica[4] == 13) {
System.out.println("ESCALERA DE COLOR");
this.posibleJugada = "ESCALERA DE COLOR";
} else if (contador2 == 4 && contador1 < 4) {
System.out.println("COLOR");
this.posibleJugada = "COLOR";
/*------------------------------Metodo Escalera---------------------------------------*/
} else if (contador1 == 4 && manoNumerica[0] == contador1 + 1 && manoNumerica[4] == 0) {
{
// 1, 2, 3, 4, 5
// 1 +1=2
//
System.out.println("ESCALERA");
this.posibleJugada = "ESCALERA";
}
}
}
// ------------------------------------------------------------------------------------
// Metodo POKER
public void poker(Carta c1, Carta c2, Carta c3, Carta c4, Carta c5) {
String[] mano = crearArray(c1, c2, c3, c4, c5);
int[] manoNumerica = valoresNumericosEnArray(mano);
int contador = contadorDeCartasCoincidentes(manoNumerica);
// 1 1 1 1 3
// 1 2 2 2 2
if (contador == 3 && manoNumerica[1] == manoNumerica[2] && manoNumerica[2] == manoNumerica[3]) {
System.out.println("POKER");
this.posibleJugada = "POKER";
}
}
// ------------------------------------------------------------------------------------
// Metodo FULL
public void full(Carta c1, Carta c2, Carta c3, Carta c4, Carta c5) {
String[] mano = crearArray(c1, c2, c3, c4, c5);
//1 1 1 2 2
// 0 1 2 3 4 cont>3
//1,1,2,2,2
int[] manoNumerica = valoresNumericosEnArray(mano);
int contador = contadorDeCartasCoincidentes(manoNumerica);
// 1,1,1,2,2
// 1 1 2 2 2
// 0 1 2 3 4
if (contador == 3 && manoNumerica[2] != manoNumerica[3] || manoNumerica[2] != manoNumerica[1]) {
System.out.println("FULL");
this.posibleJugada = "FULL";
}
}
/*----------------------------METODO TRÍO--------------------------------------*/
public void trio(Carta c1, Carta c2, Carta c3, Carta c4, Carta c5) {
String[] mano = crearArray(c1, c2, c3, c4, c5);
int[] manoNumerica = valoresNumericosEnArray(mano);
int contador = contadorDeCartasCoincidentes(manoNumerica);
// 1 1 1 5 8
// 5 8 9 9 9
// 1 3 3 3 5
//Comprobaciones Para saber si
if(contador==3 && manoNumerica[2]!=manoNumerica[0]||manoNumerica[3]!=manoNumerica[4]){
System.out.println("TRÍO");
this.posibleJugada="TRÍO";
}
}
public void par(Carta c1, Carta c2, Carta c3, Carta c4, Carta c5){
String[] mano = crearArray(c1, c2, c3, c4, c5);
int[] manoNumerica = valoresNumericosEnArray(mano);
int contador = contadorDeCartasCoincidentes(manoNumerica);
//1 1 3 5 8
//5 8 2 2 9
//
if(contador==3 && manoNumerica[1]!=manoNumerica[2]||manoNumerica[3]!=manoNumerica[4]){
System.out.println("PAR");
this.posibleJugada="PAR";
}
}
//1 1 2 2 8
//2 3 3 5 5
/*---------------------------------METODO DOBLEPAR--------------------------------------*/
public void doblePar(Carta c1, Carta c2, Carta c3, Carta c4, Carta c5){
String[] mano = crearArray(c1, c2, c3, c4, c5);
//Llamamos a nuestro araray para poder validar
int[] manoNumerica = valoresNumericosEnArray(mano);
Integer cont =0;
for (int i = 0; i < manoNumerica.length-1; i++) {
//Hacemos la validacion si dos Cartas son el mismo valor,combinadas con otras dos del mismo valor y un 5ta diferente
if (manoNumerica[i]==manoNumerica[i+1]){
cont++;
}
if (cont==2){
System.out.println("DOBLEPAR");;
}
}
{
this.posibleJugada="DOBLEPAR";
}
}
}
package Poker;
public class Poker {
public static void main(String[] args) {
// -----------Impresion para las Cartas------------
Carta carta1 = new Carta("1A");
Carta carta2 = new Carta("1B");
Carta carta3 = new Carta("3C");
Carta carta4 = new Carta("3D");
Carta carta5 = new Carta("5E");
Jugada jugada1 = new Jugada();//Llamda a la clase de Jugada
//jugada1.escaleraColor(carta1, carta2, carta3, carta4, carta5);
//jugada1.poker(carta1, carta2, carta3, carta4, carta5);
//jugada1.full(carta1, carta2, carta3, carta4, carta5);
//jugada1.trio(carta1, carta2, carta3, carta4, carta5);
//jugada1.doblePar(carta1, carta2, carta3, carta4, carta5);
jugada1.par(carta1, carta2, carta3, carta4, carta5);
}
}
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