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