Commit a1687700 by Miguel Do Carmo

archivo kotlin de el ejercicio de GENERALA

parent ad5bd895
package codigos
import java.util.ArrayList
import java.util.Scanner
import java.io.File
fun main() {
val g = readLine()!!.toCharArray() //convierte automaticamente lo leido a un array de Chars
g.sort() //Metodo de ordenamiento de arrays
println(jugada(g))
// ESTO SI SE EJECUTA PARA USTEDES
}
// ESTA ES LA FUNCIÓN QUE HAY QUE IMPLEMENTAR
// TAMBIÉN PUEDEN AGREGAR OTRAS FUNCIONES y/o CLASES
// QUE NECESITEN PARA RESOLVER EL EJERCICIO DE LA
// MANERA MÁS ORDENADA POSIBLE
fun jugada(dados : CharArray) : String? {
val primerElement = dados[0]
var caraDados = intArrayOf(0, 0, 0, 0, 0, 0) ///////************* guarda el valor de la jugada
for (element in dados) {
val nroConvertido = Character.getNumericValue(element)
if (nroConvertido in 0..6) caraDados[nroConvertido - 1]++ else return "INVALIDO"
}
var result: String? = null
var tieneTrio = false
var tieneDoble = false
val primerValor = Character.getNumericValue(dados[0])
var valorDado = 0
if (dados.size == 5) {
for (valor in caraDados) { //------------> Busca dentro del array que explica de otra manera la jugada que a salido
if (valor == 5) result = "GENERALA"
if (valor == 4) result = "POKER"
if (valor == 3) tieneTrio = true
if (valor == 2) tieneDoble = true
if (tieneDoble && tieneTrio) result = "FULL"
if (valor == 1) {
for (indice in 0..4) {
valorDado = primerValor - (Character.getNumericValue(dados[indice]) - indice)
}
if (valorDado == 0 || (caraDados[0]==1 && caraDados[1]==0 && caraDados[2] ==1 &&caraDados[3]==1 && caraDados[4]==1 && caraDados[5]==1)) {
result = "ESCALERA"
break
}
}
}
} else {
result = "INVALIDO"
}
return result
}
\ 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