diff --git a/.vscode/settings.json b/.vscode/settings.json index 14bb27e..bb46ca1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,7 @@ { "java.project.sourcePaths": [ + "Dia 5", "Dia 2", - "Dia 5" + "Dia 6/ejercicio_poker" ] } \ No newline at end of file diff --git a/Dia 6/ejercicio_poker/Baraja.java b/Dia 6/ejercicio_poker/Baraja.java index 6d901fe..1e0bde3 100644 --- a/Dia 6/ejercicio_poker/Baraja.java +++ b/Dia 6/ejercicio_poker/Baraja.java @@ -1,4 +1,8 @@ package ejercicio_poo_ddr_05; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; + public class Baraja { @@ -50,7 +54,10 @@ public class Baraja { cartas[i] = cartas[posAleatoria]; cartas[posAleatoria] = c; + + } + this.posSiguienteCarta = 0; @@ -90,7 +97,7 @@ public class Baraja { for (int i = 0; i < cartasDar.length; i++) { cartasDar[i] = siguienteCarta(); } - + Arrays.sort(cartasDar, Comparator.comparing(Carta::getNumero).reversed()); return cartasDar; @@ -102,29 +109,160 @@ public class Baraja { - public void cartasMonton() { + public void cartasMonton(Carta carta[]) { - - for (int i = 0; i < posSiguienteCarta; i++) { - System.out.println(cartas[i]); + Arrays.sort(carta, Comparator.comparing(Carta::getNumero).reversed()); + + for (int i = 0; i < posSiguienteCarta; i++) { + System.out.println(carta[i]); + } + + + } + + + public void validacionDoble(Carta carta[]){ + boolean dobleE = false; + for (int i = 0; i < 5; i++) { + for (int j = i + 1; j < 5; j++) { + + if((carta[i].getNumero())==(carta[j].getNumero())){ + dobleE = true; + + } } + } + if(dobleE){ + System.out.println("\nEs Par"); + } + + } + + public void parDoble(Carta carta[]){ + int firstDoble = 0; + boolean exist = false; + for(int i=0;i<4;i++){ + if(carta[i].getNumero()==(carta[i + 1].getNumero())){ + if(firstDoble==0){ + firstDoble = carta[i].getNumero(); + }else if(carta[i].getNumero()!=(firstDoble)){ + + exist = true; + } + } + } + if(exist){ + System.out.print("Es Doble Par "); + } + } - - public void mostrarBaraja() { + public void cartaMasAlta(Carta carta[]){ + System.out.print("\nCarta Alta "+carta[0]); + } - if (cartasDisponible() == 0) { - System.out.println("No hay cartas que mostrar"); - } else { - for (int i = posSiguienteCarta; i < cartas.length; i++) { - System.out.println(cartas[i]); + + public void trio(Carta carta []){ + boolean exist = false; + for(int i=0;i<5-2;i++){ + if(carta[i].getNumero()==(carta[i + 1].getNumero()) && carta[i].getNumero()==(carta[i+2].getNumero())){ + exist = true; + break; + } + } + if(exist){ + System.out.print("Es Trio"); + } + } + + public void full(Carta carta[]){ + boolean exist = false; + if(carta[0].getNumero()==(carta[1].getNumero()) && + carta[0].getNumero()==(carta[2].getNumero()) && + carta[3].getNumero()==(carta[4].getNumero())){ + exist = true; + }else if(carta[2].getNumero()==(carta[3].getNumero()) && + carta[2].getNumero()==(carta[4].getNumero()) && + carta[0].getNumero()==(carta[1].getNumero())){ + exist = true; + } + if(exist){ + System.out.print("\nEs Full "); + } + } + + public void escalera(Carta carta[]){ + boolean exist = true; + for(int i=0;i<4;i++){ + if(carta[i].getNumero()==(carta[i + 1].getNumero()) || + ( carta[i].getNumero() - carta[i+1].getNumero() )> 1){ + exist = false; + break; + } + } + if(exist){ + System.out.print("\nEs Escalera"); + } + } + + + public void color(Carta carta[]){ + int pA = 1; + int val; + if(carta[0].getPalo()==(carta[1].getPalo()) || + carta[1].getPalo()==(carta[2].getPalo())){ + val=0; + }else{ + val=1; + } + for(int i=val+1;i<4;i++){ + if(carta[val].getPalo()==(carta[i].getPalo())) { + pA++; + } + } + if(pA == 4){ + System.out.print("\nEs Color"); + } + } + + public void poker(Carta carta[]){ + boolean exist = false; + if(carta[0].getNumero()==(carta[1].getNumero()) && + carta[0].getNumero()==(carta[2].getNumero()) && + carta[0].getNumero()==(carta[3].getNumero())){ + exist = true; + + }else if(carta[1].getNumero()==(carta[2].getNumero()) && + carta[1].getNumero()==(carta[3].getNumero()) && + carta[1].getNumero()==(carta[4].getNumero())){ + exist = true; + } + + if(exist){ + System.out.print("\nEs Poker"); + } + } + + public void escaleraColor(Carta carta []){ + + boolean exist = true; + for(int i=0;i 1 || + !(carta[0].getPalo().equals(carta[i + 1].getPalo()))){ + exist = false; + break; } } + if(exist){ + System.out.print("\nEs Escalera Color"); + } } + } diff --git a/Dia 6/ejercicio_poker/Carta.java b/Dia 6/ejercicio_poker/Carta.java index 0711396..4c3c311 100644 --- a/Dia 6/ejercicio_poker/Carta.java +++ b/Dia 6/ejercicio_poker/Carta.java @@ -5,6 +5,22 @@ public class Carta { private int numero; + public int getNumero() { + return numero; + } + + public void setNumero(int numero) { + this.numero = numero; + } + + public String getPalo() { + return palo; + } + + public void setPalo(String palo) { + this.palo = palo; + } + private String palo; public static final String[] PALOS={"ESPADAS", "TREBOL", "CORAZON", "DIAMANTE"}; diff --git a/Dia 6/ejercicio_poker/Ejercicio_Poker.java b/Dia 6/ejercicio_poker/Ejercicio_Poker.java index 57e232d..10fa9f0 100644 --- a/Dia 6/ejercicio_poker/Ejercicio_Poker.java +++ b/Dia 6/ejercicio_poker/Ejercicio_Poker.java @@ -5,8 +5,35 @@ public class Ejercicio_Poker { public static void main(String[] args) { Baraja b = new Baraja(); - b.darCartas(5); - b.cartasMonton(); + + + Carta Cartasm[] = b.darCartas(5); + + + //Carga manual + /* + Carta Cartasm[] = new Carta[]{ + new Carta(7, "TREBOL"), + new Carta(7, "TREBOL"), + new Carta(3, "ESPADA"), + new Carta(3, "ESPADA"), + new Carta(3, "ESPADA")}; + */ + + //Impresion + b.cartasMonton(Cartasm); + + //Prueba de impresion de validaciones + b.validacionDoble(Cartasm); + b.parDoble(Cartasm); + b.trio(Cartasm); + b.full(Cartasm); + b.escalera(Cartasm); + b.color(Cartasm); + b.poker(Cartasm); + b.escaleraColor(Cartasm); + b.cartaMasAlta(Cartasm); + }