Загрузка данных


fun getWinner(user: String, computer: String): Int {

    if (user == computer) {
        return 0
    }

    if (
        user == "КАМЕНЬ" && computer == "НОЖНИЦЫ" ||
        user == "НОЖНИЦЫ" && computer == "БУМАГА" ||
        user == "БУМАГА" && computer == "КАМЕНЬ"
    ) {
        return 1
    }

    return -1
}

fun play(
    userScore: Int,
    computerScore: Int,
    draws: Int
) {

    print("Введите КАМЕНЬ, НОЖНИЦЫ, БУМАГА или СТОП: ")

    val user = readln()
        .trim()
        .uppercase()

    if (user == "СТОП") {

        println("Счёт:")
        println("Пользователь: $userScore")
        println("Компьютер: $computerScore")
        println("Ничьи: $draws")

        if (userScore > computerScore) {
            println("Вы победили!")
        } else if (computerScore > userScore) {
            println("Победил компьютер")
        } else {
            println("Ничья")
        }

        return
    }

    val choices = listOf(
        "КАМЕНЬ",
        "НОЖНИЦЫ",
        "БУМАГА"
    )

    if (user !in choices) {

        println("Неверный ввод")

        play(userScore, computerScore, draws)

        return
    }

    val computer = choices.random()

    println("Компьютер выбрал: $computer")

    val winner = getWinner(user, computer)

    if (winner == 1) {

        println("Вы выиграли раунд")

        play(
            userScore + 1,
            computerScore,
            draws
        )

    } else if (winner == -1) {

        println("Компьютер выиграл раунд")

        play(
            userScore,
            computerScore + 1,
            draws
        )

    } else {

        println("Ничья")

        play(
            userScore,
            computerScore,
            draws + 1
        )
    }
}

fun main() {

    print("Введите СТАРТ: ")

    val command = readln()
        .trim()
        .uppercase()

    if (command == "СТАРТ") {

        play(0, 0, 0)

    } else {

        println("Игра не запущена")
    }
}