diff --git a/out/production/tp-kotlin-miguel/codigos/PokerKt.class b/out/production/tp-kotlin-miguel/codigos/PokerKt.class index fe8a9e1..1587277 100644 Binary files a/out/production/tp-kotlin-miguel/codigos/PokerKt.class and b/out/production/tp-kotlin-miguel/codigos/PokerKt.class differ diff --git a/src/codigos/poker.kt b/src/codigos/poker.kt index 7ee8efe..333eea7 100644 --- a/src/codigos/poker.kt +++ b/src/codigos/poker.kt @@ -51,7 +51,8 @@ fun encuentraRepetidos(cartasMesa: String) : Boolean{ var mantieneCorrecto = false for (caracteres in 0..4 step 2){ for (caracteresRepite in caracteres+2..8 step 2){ - if ((cartasMesa[caracteres] == cartasMesa[caracteresRepite]) && (cartasMesa[caracteres+1] == cartasMesa[caracteresRepite+1])){ + if ((cartasMesa[caracteres] == cartasMesa[caracteresRepite]) && + (cartasMesa[caracteres+1] == cartasMesa[caracteresRepite+1])){ mantieneCorrecto = true } } @@ -90,10 +91,11 @@ fun analizaJugadaOrdenada(jugadaOrdenada : List): String{ 'K' -> valoresJugados[12]++ } } - +var noEsColor =true for (palo in palosJugados){ if (palo == 5){ result = "COLOR" + noEsColor = false for (position in valoresJugados.indices){ result = if (position < 9){ if (1 == valoresJugados[position] && 1 == valoresJugados[position+1] && 1 == valoresJugados[position+2] && 1 == valoresJugados[position+3] && 1 == valoresJugados[position+4]) "ESCALERA COLOR" else continue @@ -103,31 +105,39 @@ fun analizaJugadaOrdenada(jugadaOrdenada : List): String{ } } } // Jugadas posibles para 5 palos iguales - - var tieneTrio = false - var cantDobles = 0 - - for (position in valoresJugados.indices) { - if (valoresJugados[position] == 4){ - result = "POKER" - break - } else { - if (valoresJugados[position] == 3) tieneTrio = true - if (valoresJugados[position] == 2) cantDobles++ - result = if ((cantDobles == 1) && tieneTrio) "FULL" - else if ((cantDobles == 0) && tieneTrio) "TRIO" - else if (cantDobles == 1) "PAREJA" - else if (cantDobles == 2) "PAREJA DOBLE" - else "CARTA ALTA" - if (valoresJugados[position] == 1 && position <= 9) { - result = if (position < 9) { - if (1 == valoresJugados[position] && 1 == valoresJugados[position + 1] && 1 == valoresJugados[position + 2] && 1 == valoresJugados[position + 3] && 1 == valoresJugados[position + 4]) "ESCALERA" else continue + if (noEsColor) { + var tieneTrio = false + var cantDobles = 0 + + for (position in valoresJugados.indices) { + if (valoresJugados[position] == 4) { + result = "POKER" + break + } else if (valoresJugados[position] == 1 && position <= 9) { + if (position < 9) { + if (1 == valoresJugados[position] && 1 == valoresJugados[position + 1] && 1 == valoresJugados[position + 2] && 1 == valoresJugados[position + 3] && 1 == valoresJugados[position + 4]) { + result = "ESCALERA" + break + } else { + continue + } } else if (position == 9) { - if (1 == valoresJugados[position] && 1 == valoresJugados[position + 1] && 1 == valoresJugados[position + 2] && 1 == valoresJugados[position + 3] && 1 == valoresJugados[0]) "ESCALERA FIGURAS" else break + if (1 == valoresJugados[position] && 1 == valoresJugados[position + 1] && 1 == valoresJugados[position + 2] && 1 == valoresJugados[position + 3] && 1 == valoresJugados[0]) { + result = "ESCALERA FIGURAS" + break + } else break } else break } // Controla para ESCALERA + else { + if (valoresJugados[position] == 3) tieneTrio = true + if (valoresJugados[position] == 2) cantDobles++ + result = if ((cantDobles == 1) && tieneTrio) "FULL" + else if ((cantDobles == 0) && tieneTrio) "TRIO" + else if (cantDobles == 1) "PAREJA" + else if (cantDobles == 2) "PAREJA DOBLE" + else "CARTA ALTA" + } } } - return result } \ No newline at end of file