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;
import java.util.Objects;
public class Carta {
public String valor;
......@@ -40,10 +41,39 @@ public class Carta {
return this.valor + this.palo;
}
//VER OPCINES DE SOLUCIONAR LETRAS
public int getValorInt() {
int aux = Integer.parseInt(this.valor);
int result = 0;
try {int aux = Integer.parseInt(this.valor);
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 {
}
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 {
// COMPROBACIÓN DE CASOS DE CARTAS EN SECUENCIA - ESCALERA COLOR - ESCALERA -
// COLOR
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+1).getValorInt() + ": valor carta2");
......@@ -36,7 +48,7 @@ public class pokerGame {
}
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) {
return resultado = "ESCALERA COLOR";
......@@ -106,28 +118,4 @@ public class pokerGame {
}
}
/*
* 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
}
\ No newline at end of file
......@@ -3,96 +3,108 @@ package poker2;
import poker.*;
import java.util.ArrayList;
import java.util.*;
import java.util.Random;
public class PokerGame2 {
public String ganadores(List<Carta[]> jugadas) {
System.out.println("Cantidad de jugadas: " + jugadas.size());
for (Carta[] mano : jugadas) {
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;
public String ganadores( ArrayList<Carta> [] jugadas) {
int puntosMano1 =0;
int puntosMano2 =0;
PokerGame2 pokerGanador = new PokerGame2();
pokerGame pokerJugadas = new pokerGame();
ArrayList<Carta> mano1 = new ArrayList<Carta>();
ArrayList<Carta> mano2 = new ArrayList<Carta>();
// agregamos la mano 1
Carta carta1 = new Carta("2S ");
Carta carta2 = new Carta("2C ");
Carta carta3 = new Carta("4H ");
Carta carta4 = new Carta("5D ");
Carta carta5 = new Carta("5C ");
mano1.add(carta1);
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() + " ");
puntosMano1 = pokerGanador.valorJugada(pokerJugadas.jugadas(jugadas[0]));
puntosMano2 = pokerGanador.valorJugada(pokerJugadas.jugadas(jugadas[1]));
System.out.println(" ");
//IMPRIMIR CARTAS Y JUGADAS
System.out.println("JUGADOR 1 :");
for (Carta it : jugadas[0]) {
System.out.print(it.valorPalo() + " ");
}
System.out.println("--> " + pokerJugadas.jugadas(jugadas[0]));
System.out.println(" ");
System.out.println("MANO2:");
for (Carta c2 : mano2) {
System.out.print(c2.valorPalo() + " ");
System.out.println("JUGADOR 2 :");
for (Carta it2 : jugadas[1]) {
System.out.print(it2.valorPalo() + " ");
}
puntosMano1 = pokerGanador.valorJugada(pokerJugadas.jugadas(mano1));
puntosMano2 = pokerGanador.valorJugada(pokerJugadas.jugadas(mano2));
System.out.println(" ");
/*
* System.out.println(" \nPuntos Mano1 = " + puntosMano1);
* System.out.println(pokerJugadas.jugadas(mano1));
*
* System.out.println(" \nPuntos Mano2 = " + puntosMano2);
* System.out.println(pokerJugadas.jugadas(mano2));
*/
// FUNCION QUE COMPARA LAS JUGADAS
System.out.println("--> " + pokerJugadas.jugadas(jugadas[1]));
System.out.println(" ");
//IMPRIMIR LA MANO GANADORA
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.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.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) {
int result;
switch (jugada) {
......@@ -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