Commit 2307da70 by Emanuel Lugo

pokerGame2 terminado

parent 63e14615
{
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m"
}
\ No newline at end of file
package poker; package poker;
import java.util.Objects;
public class Carta { public class Carta {
public String valor; public String valor;
...@@ -40,10 +41,39 @@ public class Carta { ...@@ -40,10 +41,39 @@ public class Carta {
return this.valor + this.palo; return this.valor + this.palo;
} }
//VER OPCINES DE SOLUCIONAR LETRAS
public int getValorInt() { public int getValorInt() {
int aux = Integer.parseInt(this.valor); int result = 0;
try {int aux = Integer.parseInt(this.valor);
return aux; return aux;
}
catch (Exception e) {
switch (this.valor) {
case "T":
result = 10;
break;
case "J":
result = 11;
break;
case "Q":
result = 12;
break;
case "K":
result = 13;
break;
case "A":
result = 14;
break;
}
return result;
}
} }
...@@ -52,4 +82,23 @@ public class Carta { ...@@ -52,4 +82,23 @@ public class Carta {
} }
public void setValor(String nuevoValor){
this.valor = String.valueOf(nuevoValor.charAt(0));
this.palo = String.valueOf(nuevoValor.charAt(1));
}
@Override
public boolean equals(Object b) {
Carta cartab = (Carta) b ;
if (this.valor.equals(cartab.valor) && (this.palo.equals(cartab.palo))) {
return true;
}else
return false;
}
@Override
public int hashCode() {
return Objects.hash(this.valor, this.palo);
}
} }
...@@ -19,6 +19,18 @@ public class pokerGame { ...@@ -19,6 +19,18 @@ public class pokerGame {
// COMPROBACIÓN DE CASOS DE CARTAS EN SECUENCIA - ESCALERA COLOR - ESCALERA - // COMPROBACIÓN DE CASOS DE CARTAS EN SECUENCIA - ESCALERA COLOR - ESCALERA -
// COLOR // COLOR
for (int i = 0; i < 4; i++) {
}
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
// System.out.println(mano.get(i).getValorInt() + ": valor carta1"); // System.out.println(mano.get(i).getValorInt() + ": valor carta1");
// System.out.println(mano.get(i+1).getValorInt() + ": valor carta2"); // System.out.println(mano.get(i+1).getValorInt() + ": valor carta2");
...@@ -36,7 +48,7 @@ public class pokerGame { ...@@ -36,7 +48,7 @@ public class pokerGame {
} }
if (contadorValor == 3 && mano.get(0).getValorInt() == 1 && mano.get(4).getValorInt() == 13) { if (contadorValor == 3 && mano.get(0).getValorInt() == 1 && mano.get(4).getValorInt() == 13) {
return resultado = "ESCALERA COLOR"; return resultado = "ESCALERA";
} }
if (contadorValor == 4 && contadorPalo == 4) { if (contadorValor == 4 && contadorPalo == 4) {
return resultado = "ESCALERA COLOR"; return resultado = "ESCALERA COLOR";
...@@ -106,28 +118,4 @@ public class pokerGame { ...@@ -106,28 +118,4 @@ public class pokerGame {
} }
} }
\ No newline at end of file
/*
* PARA TESTEAR
* Collections.sort(mano, new SortbyPalo());
*
* System.out.println("");
*
* for (i = 0; i < mano.size(); i++)
* 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());
*
* Collections.sort(mano, new SortbyValor());
*
* System.out.println("");
*
* for (i = 0; i < mano.size(); i++)
* System.out.println(mano.get(i).valorPalo());
*/
\ No newline at end of file
...@@ -3,96 +3,108 @@ package poker2; ...@@ -3,96 +3,108 @@ package poker2;
import poker.*; import poker.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.*; import java.util.*;
import java.util.Random;
public class PokerGame2 { public class PokerGame2 {
public String ganadores(List<Carta[]> jugadas) { public String ganadores( ArrayList<Carta> [] jugadas) {
System.out.println("Cantidad de jugadas: " + jugadas.size()); int puntosMano1 =0;
for (Carta[] mano : jugadas) { int puntosMano2 =0;
System.out.println("JUGADA ======================");
for (Carta c : mano) {
System.out.println(c.valorPalo());
}
}
return "0";
}
public static void main(String args[]) {
int puntosMano1, puntosMano2;
ArrayList[] manos;
PokerGame2 pokerGanador = new PokerGame2(); PokerGame2 pokerGanador = new PokerGame2();
pokerGame pokerJugadas = new pokerGame(); pokerGame pokerJugadas = new pokerGame();
ArrayList<Carta> mano1 = new ArrayList<Carta>();
ArrayList<Carta> mano2 = new ArrayList<Carta>(); puntosMano1 = pokerGanador.valorJugada(pokerJugadas.jugadas(jugadas[0]));
puntosMano2 = pokerGanador.valorJugada(pokerJugadas.jugadas(jugadas[1]));
// agregamos la mano 1
Carta carta1 = new Carta("2S "); System.out.println(" ");
Carta carta2 = new Carta("2C ");
Carta carta3 = new Carta("4H "); //IMPRIMIR CARTAS Y JUGADAS
Carta carta4 = new Carta("5D "); System.out.println("JUGADOR 1 :");
Carta carta5 = new Carta("5C "); for (Carta it : jugadas[0]) {
mano1.add(carta1); System.out.print(it.valorPalo() + " ");
mano1.add(carta2);
mano1.add(carta3);
mano1.add(carta4);
mano1.add(carta5);
// agregamos la mano2
Carta carta6 = new Carta("AS ");
Carta carta7 = new Carta("AC ");
Carta carta8 = new Carta("AH ");
Carta carta9 = new Carta("4D ");
Carta carta10 = new Carta("4C ");
mano2.add(carta6);
mano2.add(carta7);
mano2.add(carta8);
mano2.add(carta9);
mano2.add(carta10);
// IMPRIMIMOS LAS MANOS
System.out.println("MANO1:");
for (Carta c1 : mano1) {
System.out.print(c1.valorPalo() + " ");
} }
System.out.println("--> " + pokerJugadas.jugadas(jugadas[0]));
System.out.println(" "); System.out.println(" ");
System.out.println("MANO2:"); System.out.println("JUGADOR 2 :");
for (Carta c2 : mano2) { for (Carta it2 : jugadas[1]) {
System.out.print(c2.valorPalo() + " "); System.out.print(it2.valorPalo() + " ");
} }
puntosMano1 = pokerGanador.valorJugada(pokerJugadas.jugadas(mano1)); System.out.println("--> " + pokerJugadas.jugadas(jugadas[1]));
puntosMano2 = pokerGanador.valorJugada(pokerJugadas.jugadas(mano2));
System.out.println(" "); System.out.println(" ");
/*
* System.out.println(" \nPuntos Mano1 = " + puntosMano1); //IMPRIMIR LA MANO GANADORA
* System.out.println(pokerJugadas.jugadas(mano1));
*
* System.out.println(" \nPuntos Mano2 = " + puntosMano2);
* System.out.println(pokerJugadas.jugadas(mano2));
*/
// FUNCION QUE COMPARA LAS JUGADAS
if (puntosMano1 > puntosMano2) { if (puntosMano1 > puntosMano2) {
System.out.println("LA MANO GANADORA ES:"); System.out.println("GANA LA MANO DEL JUGADOR 1 !!!");
for (Carta c1 : mano1) { for (Carta c1 : jugadas[0]) {
System.out.print(c1.valorPalo() + " "); System.out.print(c1.valorPalo() + " ");
} }
System.out.println(pokerJugadas.jugadas(mano1)); System.out.println(pokerJugadas.jugadas(jugadas[0]));
} else { } else if (puntosMano1 < puntosMano2){
System.out.println("LA MANO GANADORA ES:"); System.out.println("GANA LA MANO DEL JUGADOR 2 !!!");
for (Carta c2 : mano2) { for (Carta c2 : jugadas[1] ) {
System.out.print(c2.valorPalo() + " "); System.out.print(c2.valorPalo() + " ");
} }
System.out.println(pokerJugadas.jugadas(mano2)); System.out.println(pokerJugadas.jugadas(jugadas[1]));
} else {
int totalValorMano1 = 0;
int totalValorMano2 = 0;
for (Carta c1 : jugadas[0]) {
totalValorMano1 = totalValorMano1 + c1.getValorInt();
}
for (Carta c2 : jugadas[1] ) {
totalValorMano2 = totalValorMano2 + c2.getValorInt();
}
if (totalValorMano1 > totalValorMano2) {
System.out.println("LUGO DEL EMPATE - GANA LA MANO DEL JUGADOR 1 !!!");
for (Carta c1 : jugadas[0]) {
System.out.print(c1.valorPalo() + " ");
System.out.print("");
}
System.out.println();
//System.out.println("Valor TOTAL:"+totalValorMano1);
}else {
System.out.println("LUGO DEL EMPATE - GANA LA MANO DEL JUGADOR 2 !!!");
for (Carta c2 : jugadas[1]) {
System.out.print(c2.valorPalo() + " ");
}
System.out.println();
System.out.print("");
//System.out.println("Valor TOTAL:"+totalValorMano2);
}
} }
return "0";
} }
public static void main(String args[]) {
PokerGame2 pokerGanador = new PokerGame2();
pokerGame pokerJugadas = new pokerGame();
ArrayList<Carta> [] manoGenerada = (ArrayList<Carta>[]) new ArrayList[2];
manoGenerada = pokerGanador.generarMano();
pokerGanador.ganadores(manoGenerada) ;
}
public int valorJugada(String jugada) { public int valorJugada(String jugada) {
int result; int result;
switch (jugada) { switch (jugada) {
...@@ -131,4 +143,162 @@ public class PokerGame2 { ...@@ -131,4 +143,162 @@ public class PokerGame2 {
} }
public static ArrayList <Carta>[] generarMano () {
int i;
Carta c1,c2,c3,c4,c5,c6,c7,c8,c9,c10;
ArrayList <Carta> mano1 = new ArrayList<Carta> () ;
ArrayList <Carta> mano2 = new ArrayList<Carta> () ;
ArrayList<Carta> [] dualMano = (ArrayList<Carta>[]) new ArrayList[2];
ArrayList <Carta> mazo = new ArrayList<Carta>() ;
c1 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c2 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c3 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c4 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c5 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c6 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c7 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c8 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c9 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
c10 = new Carta(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4))) ;
mazo.add(c1);
mazo.add(c2);
mazo.add(c3);
mazo.add(c4);
mazo.add(c5);
mazo.add(c6);
mazo.add(c7);
mazo.add(c8);
mazo.add(c9);
mazo.add(c10);
i = 0;
while ( i<5){
if (! ( mano1.contains(mazo.get(i)) ) ) {
mano1.add (mazo.get(i));
i++;
} else {
mazo.get(i).setValor(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4)));
}
}
i = 5;
while ( i<10){
if (! ( mano2.contains(mazo.get(i)) || mano1.contains(mazo.get(i))) ) {
mano2.add (mazo.get(i));
i++;
} else {
mazo.get(i).setValor(forNumbertoValor(numeroRandom(1, 14)) + forNumbertoPalo(numeroRandom(1, 4)));
}
}
dualMano[0] = mano1 ;
dualMano[1] = mano2;
return dualMano ;
}
public static int numeroRandom (int min,int max){
int valor, minimo, maximo;
minimo = min;
maximo = max;
Random ran = new Random();
valor = ran.nextInt(maximo) + minimo;
return valor;
}
public static String forNumbertoPalo(int numero) {
String result = " ";
switch (numero) {
case 1:
result = "S";
break;
case 2:
result = "C";
break;
case 3:
result = "H";
break;
case 4:
result = "D";
break;
default:
result = "X";
break;
}
return result;
}
public static String forNumbertoValor(int numero) {
String result = " ";
switch (numero) {
case 1:
result = "A";
break;
case 2:
result = "2";
break;
case 3:
result = "3";
break;
case 4:
result = "4";
break;
case 5:
result = "5";
break;
case 6:
result = "6";
break;
case 7:
result = "7";
break;
case 8:
result = "8";
break;
case 9:
result = "9";
break;
case 10:
result = "T";
break;
case 11:
result = "J";
break;
case 12:
result = "Q";
break;
case 13:
result = "K";
break;
case 14:
result = "A";
break;
default:
result = "/";
break;
}
return result;
}
} }
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