From 47a21765870a65997e4f4aadd1c5e3a596c47e1f Mon Sep 17 00:00:00 2001 From: Yovan Martinez Date: Tue, 26 Apr 2022 14:47:19 -0400 Subject: [PATCH] Finalizado poker con dos clases --- Carta.java | 130 +++------------------------------------------------------------------------------------------------------------------------------- Poker.java | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------- 2 files changed, 104 insertions(+), 200 deletions(-) diff --git a/Carta.java b/Carta.java index 9dbc23f..55bec82 100644 --- a/Carta.java +++ b/Carta.java @@ -5,140 +5,16 @@ import java.util.Arrays; public class Carta { public String valor; public String palo; - public String suit = ""; - public String values = ""; - public Carta(){ - valor = ""; - palo = ""; - } //Constructor que puso el profe con intenciones que desconozco public Carta(String completo) { - this.valor = valor + ordenarCadena(String.valueOf(completo.charAt(0))); - this.palo = palo + ordenarCadena(String.valueOf(completo.charAt(1))); - } - //Guarda todos los valores de palo de las cartas en un solo string para guardarlos - public void armarPalos(String carta){ - suit = ordenarCadena(suit + ordenarCadena(String.valueOf(carta.charAt(1)))); - } - //Guarda todos los valores de las cartas en un solo string para trabajarlos - public void armarValores(String valores){ - values = ordenarCadena(values + String.valueOf(valores.charAt(0))); - - } - public String getSuit(){ - return suit; - } - public String getValue(){ - return values; + this.valor = String.valueOf(completo.charAt(0)); + this.palo = String.valueOf(completo.charAt(1)); } //Segunda cosa que puso el profe con intenciones desconocidas para la mente promedio String valorPalo() { return this.valor + this.palo; - } - //*************CONTROLA QUE JUGADA SE DA EN LOS PALOS - public int controlPalos(String palos){ - int contador = 0; - for (int i = 0; i < palos.length(); i++) { - for (int j = 0; j < palos.length(); j++) { - if (palos.charAt(i) == palos.charAt(j)) { - contador++; - } - } - } - return contador; - } - //***********CONTROLA QUE JUGADA SE DA EN LOS VALORES - public String controlValor(String valores){ - int contador = 0; - int secuencial = 0; - boolean thereIsLetter = false; - for (int i = 0; i < valores.length(); i++) { - for (int j = 0; j < valores.length(); j++) { - if (valores.charAt(i) == valores.charAt(j)) { - contador++; - } - } - } - if (contador < 6) { - //controla que existan letras en los valores mandados - for (int i = 0; i < valores.length(); i++) { - String l = String.valueOf(valores.charAt(i)); - if (l == "T" || l == "J" || l == "Q" || l == "K" || l == "A") { - thereIsLetter = true; - break; - } - } - //Una condicional para el caso que existan letras - if(thereIsLetter == false){ - //Para mejor entendimiento visual lo guardo en una variable de nombre mas corto - String v = getValue(); - if ( (v.equals("89JQT")) || (v.equals("9JKQT")) || ((v).equals("AJKQT")) ||(v.equals("2345A")) || (v.equals("789JT")) ||(v.equals("6789T"))){ - return "ESCALERA"; - } - }else{ - for (int i = 1; i < valores.length(); i++) { - if (valores.charAt(i) == valores.charAt(i-1) + 1) { - secuencial++; - } - } - if (secuencial == 4) { - return "ESCALERA"; - } - } - }else if (contador == 17) { - return "POKER"; - }else if(contador == 13){ - return "FULL"; - }else if(contador == 11){ - return "TRIO"; - }else if(contador == 9){ - return "PAR DOBLE"; - }else if(contador == 7){ - return "PAR"; - } - return "NADA"; - } - //Valora la mano y devuelve un resultado final (depende en su totalidad de otros metodos) - public String valoracionMano(){ - if (controlPalos(getSuit()) == 25 && controlValor(getValue()).equals("ESCALERA")){ - return "ESCALERA COLOR"; - }else if(controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("POKER")){ - return "POKER"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("FULL")) { - return "FULL"; - }else if (controlPalos(getSuit()) == 25 && controlValor(getValue()).equals("NADA") ) { - return "COLOR"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("ESCALERA") ) { - return "ESCALERA"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("TRIO") ) { - return "TRIO"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("PAR") ) { - return "PAR"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("PAR DOBLE") ) { - return "PAR DOBLE"; - } - return "NADA"; - } - //Recibe un string y lo ordena segun orden numerico o alfabetico - public String ordenarCadena(String original){ - String numeroAOrdenar = original; - numeroAOrdenar = original; - char[] chars = numeroAOrdenar.toCharArray(); - Arrays.sort(chars); - String cadenaOrdenada = new String(chars); - return cadenaOrdenada; - } - public static void main(String[] args) { - - Carta cartas = new Carta(); - String [] mano = new String []{"TH","JH","QH","KH","AH"}; - for (int i = 0; i < mano.length; i++) { - cartas.armarPalos(mano[i]); - cartas.armarValores(mano[i]); - } - System.out.println(cartas.valoracionMano()); - } + } } diff --git a/Poker.java b/Poker.java index 430d6d1..c5ad288 100644 --- a/Poker.java +++ b/Poker.java @@ -1,25 +1,41 @@ +import javax.sound.sampled.Port; +import javax.lang.model.element.Element; +import javax.print.DocFlavor.STRING; +import java.util.Arrays; + public class Poker { - public String valoracionMano(){ - if (controlPalos(getSuit()) == 25 && controlValor(getValue()).equals("ESCALERA")){ - return "ESCALERA COLOR"; - }else if(controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("POKER")){ - return "POKER"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("FULL")) { - return "FULL"; - }else if (controlPalos(getSuit()) == 25 && controlValor(getValue()).equals("NADA") ) { - return "COLOR"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("ESCALERA") ) { - return "ESCALERA"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("TRIO") ) { - return "TRIO"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("PAR") ) { - return "PAR"; - }else if (controlPalos(getSuit()) < 25 && controlValor(getValue()).equals("PAR DOBLE") ) { - return "PAR DOBLE"; - } - return "NADA"; + public String suit = ""; + public String values = ""; + + public Poker(){ + values = ""; + suit = ""; + } + + public String getSuit(){ + return suit; + } + public String getValue(){ + return values; } + + public void setValues(String carta){ + values = ordenarCadena(values + carta); + } + public void setSuits(String carta){ + suit = ordenarCadena(suit + carta); + } + //Recibe un string y lo ordena segun orden numerico o alfabetico + public String ordenarCadena(String original){ + String numeroAOrdenar = original; + numeroAOrdenar = original; + char[] chars = numeroAOrdenar.toCharArray(); + Arrays.sort(chars); + String cadenaOrdenada = new String(chars); + return cadenaOrdenada; + } + //***********CONTROLA LA JUGADA QUE SE DA EN LOS PALOS public String controlPalos(String palos){ int contador = 0; for (int i = 0; i < palos.length(); i++) { @@ -34,68 +50,80 @@ public class Poker { } else { return ""; } - return contador; } - //***********CONTROLA QUE JUGADA SE DA EN LOS VALORES - public String controlValor(String valores){ - int contador = 0; - int secuencial = 0; - boolean thereIsLetter = false; - for (int i = 0; i < valores.length(); i++) { - for (int j = 0; j < valores.length(); j++) { - if (valores.charAt(i) == valores.charAt(j)) { - contador++; - } + //***********CONTROLA QUE JUGADA SE DA EN LOS VALORES + public String controlValor(String valores){ + int contador = 0; + int secuencial = 0; + boolean thereIsLetter = false; + for (int i = 0; i < valores.length(); i++) { + for (int j = 0; j < valores.length(); j++) { + if (valores.charAt(i) == valores.charAt(j)) { + contador++; } } - if (contador < 6) { - //controla que existan letras en los valores mandados - for (int i = 0; i < valores.length(); i++) { - String l = String.valueOf(valores.charAt(i)); - if (l == "T" || l == "J" || l == "Q" || l == "K" || l == "A") { - thereIsLetter = true; - break; - } + } + if (contador < 6) { + //controla que existan letras en los valores mandados + for (int i = 0; i < valores.length(); i++) { + String l = String.valueOf(valores.charAt(i)); + if (l == "T" || l == "J" || l == "Q" || l == "K" || l == "A") { + thereIsLetter = true; + break; } - //Una condicional para el caso que existan letras - if(thereIsLetter == false){ - //Para mejor entendimiento visual lo guardo en una variable de nombre mas corto - String v = getValue(); - if ( (v.equals("89JQT")) || (v.equals("9JKQT")) || ((v).equals("AJKQT")) ||(v.equals("2345A")) || (v.equals("789JT")) ||(v.equals("6789T"))){ - return "ESCALERA"; - } - }else{ - for (int i = 1; i < valores.length(); i++) { - if (valores.charAt(i) == valores.charAt(i-1) + 1) { - secuencial++; - } - } - if (secuencial == 4) { - return "ESCALERA"; - } - } - }else if (contador == 17) { - return "POKER"; - }else if(contador == 13){ - return "FULL"; - }else if(contador == 11){ - return "TRIO"; - }else if(contador == 9){ - return "PAR DOBLE"; - }else if(contador == 7){ - return "PAR"; } - return "NADA"; + //Una condicional para el caso que existan letras + if(thereIsLetter == true){ + //Para mejor entendimiento visual lo guardo en una variable de nombre mas corto + String v = getValue(); + if ( (v.equals("89JQT")) || (v.equals("9JKQT")) || ((v).equals("AJKQT")) ||(v.equals("2345A")) || (v.equals("789JT")) ||(v.equals("6789T"))){ + return "ESCALERA"; + } + }else{ + for (int i = 1; i < valores.length(); i++) { + if (Character.getNumericValue(valores.charAt(i)) == Character.getNumericValue(valores.charAt(i-1)) + 1) { + secuencial++; + } + } + if (secuencial == 4) { + return "ESCALERA"; + } + } + }else if (contador == 17) { + return "POKER"; + }else if(contador == 13){ + return "FULL"; + }else if(contador == 11){ + return "TRIO"; + }else if(contador == 9){ + return "PAR DOBLE"; + }else if(contador == 7){ + return "PAR"; } + return ""; +} public static void main(String[] args) { - Carta cartas = new Carta(); - String [] mano = new String []{"TH","JH","QH","KH","AH"}; - for (int i = 0; i < mano.length; i++) { - cartas.armarPalos(mano[i]); - cartas.armarValores(mano[i]); - } - System.out.println(cartas.valoracionMano()); + Carta carta1 = new Carta("2D"); + Carta carta2 = new Carta("3S"); + Carta carta3 = new Carta("4C"); + Carta carta4 = new Carta("5H"); + Carta carta5 = new Carta("6H"); + Poker partida = new Poker(); + //Le paso los palos con el metodo del profe + partida.setSuits(carta1.palo); + partida.setSuits(carta2.palo); + partida.setSuits(carta3.palo); + partida.setSuits(carta4.palo); + partida.setSuits(carta5.palo); + //Le paso los valores con el metodo del profe + partida.setValues(carta1.valor); + partida.setValues(carta2.valor); + partida.setValues(carta3.valor); + partida.setValues(carta4.valor); + partida.setValues(carta5.valor); + + System.out.println(partida.controlValor(partida.getValue()) + " " + partida.controlPalos(partida.getSuit())); } } -- libgit2 0.26.0