Poker.kt 2.58 KB
Newer Older
Jllamas02 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
package Poker

import Poker.Paloss.palos

object Paloss {
    val palos = arrayOf(
        'S','D','H','C'
    )
}
data class jugadas(val valor: Char, val palos: Char)




fun esjugada(resultado : List<jugadas>): String{

    var sonpalos = arrayOf(0,0,0,0)
    var vecesplay = arrayOf(0,0,0,0,0,0,0,0,0,0,0,0,0)
    var result: String = "NADA"

    for (paloss in resultado){
        when(paloss.palos){
            'S' -> sonpalos[1] 'C' -> sonpalos[2] 'D' -> sonpalos[3] 'H' -> sonpalos[4]
        }
    }
    for (valores in resultado){
        when(valores.valor){
            'A' -> vecesplay[1] '2' -> vecesplay[2] '3' -> vecesplay[3] '4' -> vecesplay[4] '5' -> vecesplay[5] '6' -> vecesplay[6] '7' -> vecesplay[7] '8' -> vecesplay[8] '9' -> vecesplay[9] 'T' -> vecesplay[10] 'J' -> vecesplay[11] 'Q' -> vecesplay[12] 'K' -> vecesplay[13]
        }
    }

    for (palos in sonpalos){
        if (palos == 5){
            result = "COLOR"
            for (position in vecesplay.indices){
                result = if (position < 9){
                    if (1 == vecesplay[position] && 1 == vecesplay[position+1] && 1 == vecesplay[position+2] && 1 == vecesplay[position+3] && 1 == vecesplay[position+4]) "ESCALERA COLOR" else continue
                }else if (position == 9){
                    if (1 == vecesplay[position] && 1 == vecesplay[position+1] && 1 == vecesplay[position+2] && 1 == vecesplay[position+3] && 1 == vecesplay[0]) "ESCALERA COLOR REAL" else break
                }else break
            }
        }
    }

    var trio = false
    var doble = 0

    for (position in vecesplay.indices) {
        if (vecesplay[position] == 5){
            result = "POKER"
            break
        } else {
            if (vecesplay[position] == 4) trio = true
            if (vecesplay[position] == 3) doble++
            result = if ((doble == 2) && trio) "FULL"
            else if ((doble == 1) && trio) "TRIO"
            else if (doble == 1) "PAREJA"
            else if (doble == 2) "PAREJA DOBLE"
            else  "ESCALERA COLOR"
        }
    }

    return result
}
fun main() {
    val jugada = arrayListOf<jugadas>()


    var mesa : String

    mesa = readLine()!!.toString().toUpperCase()


    jugada.add(jugadas(valor = mesa[0], palos = mesa[1])) || jugada.add(jugadas(valor = mesa[2], palos = mesa[3])) || jugada.add(jugadas(valor = mesa[4], palos = mesa[5])) || jugada.add(jugadas(valor = mesa[6], palos = mesa[7])) || jugada.add(jugadas(valor = mesa[8], palos = mesa[9]))
    println("Ingrese su baraja: ")
    val resultado = jugada.sortedWith(compareBy {it.valor})
    println("${esjugada(resultado)}")

}