Commit 2f079f95 by Jose Baez

Se crea metodo para comporar mano de carta

parent 4e93d22e
<?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
......@@ -2,14 +2,30 @@ import java.util.ArrayList;
import java.util.List;
public class Carta {
String valor;
String palo;
private String valor;
private String palo;
public Carta() {
valorAleatorio();
paloAleatorio();
}
public String getValor() {
return valor;
}
public void setValor(String valor) {
this.valor = valor;
}
public String getPalo() {
return palo;
}
public void setPalo(String palo) {
this.palo = palo;
}
public Carta(String completo) {
String a = String.valueOf(completo.charAt(0));
String b = String.valueOf(completo.charAt(1));
......@@ -29,24 +45,22 @@ public class Carta {
for (int i = 0; i < 1; i++) {
if(rand==10){
this.valor="T";
continue;
}
if(rand==11){
else if(rand==11){
this.valor="J";
continue;
}
if(rand==12){
else if(rand==12){
this.valor="Q";
continue;
}
if(rand==13){
else if(rand==13){
this.valor="K";
continue;
}
if(rand==14){
else if(rand==14){
this.valor="A";
}else {
}
else if (rand==1) {
this.valor="A";
} else {
this.valor=String.valueOf(rand);
}
}
......@@ -63,13 +77,11 @@ public class Carta {
for (int i = 0; i < 1; i++) {
if(rand==1){
this.palo="C";
continue;
}
if(rand==2){
else if (rand==2){
this.palo="H";
continue;
}
if(rand==4){
else if(rand==4){
this.palo="D";
}else {
this.palo="S";
......
......@@ -7,51 +7,67 @@ public class Juego {
public Juego() {
}
public void juegosPosibles(List<Carta> cartas) {
public String mano1VsMano2(int carta1, int carta2) {
if(carta1 > carta2){
return "1";
}else if(carta1 < carta2){
return "2";
} else if (carta1==carta2) {
return "SON IGUALES";
}
return "NO HAY GANADOR";
}
public int juegosPosibles(List<Carta> cartas) {
boolean siguiente = true;
if (escaleraColor(cartas)) {
siguiente = false;
System.out.println("ESCALERA COLOR");
return 9;
}
if (siguiente && poker(cartas)) {
siguiente = false;
System.out.println("POKER");
System.out.println("ESCALERA COLOR");
return 8;
}
if (siguiente && full(cartas)) {
siguiente = false;
System.out.println("FULL");
System.out.println("ESCALERA COLOR");
return 7;
}
if (siguiente && escalera(cartas)) {
siguiente = false;
System.out.println("ESCALERA");
return 6;
}
if (siguiente && color(cartas)) {
siguiente = false;
System.out.println("COLOR");
return 5;
}
if (siguiente && trio(cartas)) {
siguiente = false;
System.out.println("TRIO");
return 4;
}
if (siguiente && parDoble(cartas)) {
siguiente = false;
System.out.println("PAR DOBLE");
return 3;
}
if (siguiente && par(cartas)) {
siguiente = false;
System.out.println("PAR");
return 1;
}
if (siguiente) {
System.out.println("CARTA ALTA");
}
System.out.println("CARTA ALTA");
return 0;
}
public boolean par(List<Carta> cartas) {
if (cantidadPalosIguales(cartas) < 3) {
List<Integer> valores = new ArrayList<>();
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
Collections.sort(valores);
int[] numerosArray = pasarAArray(valores);
......@@ -72,7 +88,7 @@ public class Juego {
if (cantidadPalosIguales(cartas) < 3) {
List<Integer> valores = new ArrayList<>();
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
Collections.sort(valores);
int[] numerosArray = pasarAArray(valores);
......@@ -92,7 +108,7 @@ public class Juego {
public boolean trio(List<Carta> cartas) {
List<Integer> valores = new ArrayList<>();
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
//Collections.sort(valores);
int[] numerosArray = pasarAArray(valores);
......@@ -123,7 +139,7 @@ public class Juego {
if (cantidadPalosIguales(cartas) == 3) {
List<Integer> valores = new ArrayList<>();
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
Collections.sort(valores);
int[] numerosArray = pasarAArray(valores);
......@@ -150,7 +166,7 @@ public class Juego {
List<Integer> valores = new ArrayList<>();
cantidadPalosIguales(cartas);
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
Collections.sort(valores);
int counter = 0;
......@@ -182,16 +198,16 @@ public class Juego {
int contador = 0;
for (Carta c : cartas) {
if (c.palo.equals("K")) {
if (c.getPalo().equals("K")) {
contador++;
}
if (c.palo.equals("Q")) {
if (c.getPalo().equals("Q")) {
contador++;
}
if (c.palo.equals("K")) {
if (c.getPalo().equals("K")) {
contador++;
}
if (c.palo.equals("C")) {
if (c.getPalo().equals("C")) {
contador++;
}
}
......@@ -203,7 +219,7 @@ public class Juego {
public boolean color(List<Carta> cartas) {
String valuePalo = estraerPrimerPalo(cartas);
for (int i = 0; i < cartas.size(); i++) {
if (!valuePalo.equals(cartas.get(i).palo)) {
if (!valuePalo.equals(cartas.get(i).getPalo())) {
return false;
}
}
......@@ -215,7 +231,7 @@ public class Juego {
List<Integer> valores = new ArrayList<>();
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
Collections.sort(valores);
//valores.forEach(System.out::println);
......@@ -241,7 +257,7 @@ public class Juego {
boolean valor1 = true;
String valuePalo = estraerPrimerPalo(cartas);
for (int i = 0; i < cartas.size(); i++) {
if (!valuePalo.equals(cartas.get(i).palo)) {
if (!valuePalo.equals(cartas.get(i).getPalo())) {
valor1 = false;
}
}
......@@ -249,7 +265,7 @@ public class Juego {
List<Integer> valores = new ArrayList<>();
if (valor1) {
for (Carta c : cartas) {
valores.add(convertirValorStringAInteger(c.valor));
valores.add(convertirValorStringAInteger(c.getValor()));
}
Collections.sort(valores);
//valores.forEach(System.out::println);
......@@ -287,17 +303,13 @@ public class Juego {
int valor = 0;
if (carta.equals("A")) {
return valor = 1;
}
if (carta.equals("T")) {
}else if (carta.equals("T")) {
return valor = 10;
}
if (carta.equals("J")) {
}else if (carta.equals("J")) {
return valor = 11;
}
if (carta.equals("Q")) {
}else if (carta.equals("Q")) {
return valor = 12;
}
if (carta.equals("K")) {
}else if (carta.equals("K")) {
return valor = 13;
}
return Integer.valueOf(carta);
......@@ -306,7 +318,7 @@ public class Juego {
public String estraerPrimerPalo(List<Carta> cartas) {
String value = "";
for (Carta c : cartas) {
value = c.palo;
value = c.getPalo();
break;
}
return value;
......
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MyClass {
......@@ -7,32 +8,23 @@ public class MyClass {
// pero la corrección del ejercicio será automática en base a este
// método que está acá
public String ganadores(List<Carta[]> jugadas) {
int cont=1;
System.out.println("Cantidad de jugadas: " + jugadas.size());
for (Carta[] mano : jugadas) {
System.out.println("JUGADA ======================");
System.out.println("JUGADA "+cont+" ======================");
cont++;
for (Carta c : mano) {
System.out.println(c.valorPalo());
System.out.print("["+c.valorPalo()+"] ");
}
System.out.println();
}
return "0";
return "Resultados: ";
}
public static void main(String args[]) {
Juego j = new Juego();
MyClass mc = new MyClass();
List<Carta[]> jugadas = new ArrayList<Carta[]>();
// Carta[] m1 = new Carta[5];
// m1[0] = new Carta("AH");
// m1[1] = new Carta("AD");
// m1[2] = new Carta("TH");
// m1[3] = new Carta("TC");
// m1[4] = new Carta("6S");
// Carta[] m2 = new Carta[5];
// m2[0] = new Carta("AH");
// m2[1] = new Carta("KD");
// m2[2] = new Carta("QH");
// m2[3] = new Carta("3C");
// m2[4] = new Carta("3S");
Carta[] m1 = new Carta[5];
m1[0] = new Carta();
m1[1] = new Carta();
......@@ -49,6 +41,13 @@ public class MyClass {
jugadas.add(m1);
jugadas.add(m2);
String ganadores = mc.ganadores(jugadas);
System.out.println("Ganadores = " + ganadores);
System.out.println("\n"+ganadores);
System.out.print("Jugada 1 = ");
int valor = j.juegosPosibles(Arrays.asList(m1[0], m1[1] , m1[2] , m1[3] , m1[4] ));
System.out.print("Jugada 2 = ");
int valor2 = j.juegosPosibles(Arrays.asList(m2[0], m2[1] , m2[2] , m2[3] , m2[4] ));
System.out.println("GANADOR JUGADA # "+ j.mano1VsMano2(valor,valor2));
}
}
\ No newline at end of file
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