Commit ef3bac41 by Josebaezx

Se mejoran metodos para verificar jugada

parent 0589aa52
...@@ -5,6 +5,8 @@ import java.util.Objects; ...@@ -5,6 +5,8 @@ import java.util.Objects;
public class Carta { public class Carta {
private String valor; private String valor;
private String palo; private String palo;
private final int MIN=1;
private final int MAX=4;
public Carta() { public Carta() {
valorAleatorio(); valorAleatorio();
...@@ -40,9 +42,8 @@ public class Carta { ...@@ -40,9 +42,8 @@ public class Carta {
public void valorAleatorio(){ public void valorAleatorio(){
int max = 13; int max = 13;
int min = 1; int range = max - MIN + 1;
int range = max - min + 1; int rand = (int)(Math.random() * range) + MIN;
int rand = (int)(Math.random() * range) + min;
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";
...@@ -65,10 +66,8 @@ public class Carta { ...@@ -65,10 +66,8 @@ public class Carta {
} }
public void paloAleatorio(){ public void paloAleatorio(){
int max = 4; int range = MAX - MIN + 1;
int min = 1; int rand = (int)(Math.random() * range) + MIN;
int range = max - min + 1;
int rand = (int)(Math.random() * range) + min;
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";
......
...@@ -39,44 +39,35 @@ public class Juego { ...@@ -39,44 +39,35 @@ public class Juego {
} }
public int juegosPosibles(List<Carta> cartas) { public int juegosPosibles(List<Carta> cartas) {
boolean siguiente = true;
if (escaleraColor(cartas)) { if (escaleraColor(cartas)) {
siguiente = false;
System.out.println("ESCALERA COLOR"); System.out.println("ESCALERA COLOR");
return 9; return 9;
} }
if (siguiente && poker(cartas)) { if (poker(cartas)) {
siguiente = false;
System.out.println("ESCALERA COLOR"); System.out.println("ESCALERA COLOR");
return 8; return 8;
} }
if (siguiente && full(cartas)) { if (full(cartas)) {
siguiente = false;
System.out.println("FULL"); System.out.println("FULL");
return 7; return 7;
} }
if (siguiente && escalera(cartas)) { if (escalera(cartas)) {
siguiente = false;
System.out.println("ESCALERA"); System.out.println("ESCALERA");
return 6; return 6;
} }
if (siguiente && color(cartas)) { if (color(cartas)) {
siguiente = false;
System.out.println("COLOR"); System.out.println("COLOR");
return 5; return 5;
} }
if (siguiente && trio(cartas)) { if (trio(cartas)) {
siguiente = false;
System.out.println("TRIO"); System.out.println("TRIO");
return 4; return 4;
} }
if (siguiente && parDoble(cartas)) { if (parDoble(cartas)) {
siguiente = false;
System.out.println("PAR DOBLE"); System.out.println("PAR DOBLE");
return 3; return 3;
} }
if (siguiente && par(cartas)) { if (par(cartas)) {
siguiente = false;
System.out.println("PAR"); System.out.println("PAR");
return 1; return 1;
} }
...@@ -263,7 +254,7 @@ public class Juego { ...@@ -263,7 +254,7 @@ public class Juego {
} }
contador += valoresArry[i]; contador += valoresArry[i];
if (contador == 34 && valoresArry[0] == 1) { if (contador == 21 && valoresArry[0] == 1) {
return true; return true;
} }
} }
...@@ -338,28 +329,21 @@ public class Juego { ...@@ -338,28 +329,21 @@ public class Juego {
} }
public boolean isRepetidos(Carta[] m1, Carta[] m2) { public boolean isRepetidos(Carta[] m1, Carta[] m2) {
Carta[] m3 = new Carta[10]; Set<Carta> cartas = new HashSet<>();
int c = 5; int c = 5;
for (int i = 0; i < m3.length; i++) { for (int i = 0; i < 10; i++) {
if (i < 5) { if (i < 5) {
m3[i] = (m1[i]); cartas.add(m1[i]);
} else if (i > 4) { } else if (i > 4) {
m3[i] = (m2[i - c]); cartas.add(m2[i - c]);
} }
} }
List<Carta> cartas = new ArrayList(Arrays.asList(m3)); if (cartas.size() < 10) {
List<Carta> distinctElementList = cartas.stream()
.distinct()
.collect(Collectors.toList());
if (distinctElementList.size() < 10) {
return false; return false;
} }
return true; return true;
} }
} }
...@@ -43,16 +43,15 @@ public class MyClass { ...@@ -43,16 +43,15 @@ public class MyClass {
respuesta = j.isRepetidos(m1,m2); respuesta = j.isRepetidos(m1,m2);
}while (respuesta==false); }while (respuesta==false);
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("\n"+ganadores); System.out.println("\n"+ganadores);
System.out.print("Jugada 1 = "); System.out.print("Jugada 1 = ");
int valor = j.juegosPosibles(Arrays.asList(m1[0], m1[1] , m1[2] , m1[3] , m1[4] )); int valor = j.juegosPosibles(Arrays.asList(m1));
System.out.print("Jugada 2 = "); System.out.print("Jugada 2 = ");
int valor2 = j.juegosPosibles(Arrays.asList(m2[0], m2[1] , m2[2] , m2[3] , m2[4] )); int valor2 = j.juegosPosibles(Arrays.asList(m2));
System.out.println("GANADOR JUGADA # "+ j.mano1VsMano2(valor,valor2)); System.out.println("GANADOR JUGADA # "+ j.mano1VsMano2(valor,valor2));
//Si son iguales realiza un desempate //Si son iguales realiza un desempate
......
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