Игра «Камень, ножницы, бумага» на Kotlin: веселая и простая реализация

Если вы ищете веселую и простую игру для реализации на Kotlin, обратите внимание на Rock, Paper, Scissors! В этой статье блога мы познакомим вас с несколькими методами создания игры «Камень, ножницы, бумага» с использованием Kotlin. Независимо от того, являетесь ли вы новичком или опытным программистом Kotlin, это руководство предоставит вам необходимые примеры кода и пояснения для начала работы.

Метод 1: базовая реализация
Давайте начнем с базовой реализации игры. Мы будем использовать генератор случайных чисел, чтобы представить выбор компьютера и подсказать игроку его выбор. Вот код:

import kotlin.random.Random
fun main() {
    val options = listOf("Rock", "Paper", "Scissors")
    val computerChoice = options[Random.nextInt(3)]
    print("Enter your choice (Rock, Paper, Scissors): ")
    val playerChoice = readLine()?.capitalize()

    if (playerChoice != null && playerChoice in options) {
        println("Computer chose: $computerChoice")
        println("You chose: $playerChoice")
        println(getWinner(playerChoice, computerChoice))
    } else {
        println("Invalid choice. Please try again.")
    }
}
fun getWinner(playerChoice: String, computerChoice: String): String {
    if (playerChoice == computerChoice) {
        return "It's a tie!"
    }
    return when (playerChoice) {
        "Rock" -> if (computerChoice == "Scissors") "You win!" else "Computer wins!"
        "Paper" -> if (computerChoice == "Rock") "You win!" else "Computer wins!"
        "Scissors" -> if (computerChoice == "Paper") "You win!" else "Computer wins!"
        else -> "Invalid choice."
    }
}

Метод 2: реализация перечисления
Другой подход к реализации игры — использование перечислений. Перечисления обеспечивают структурированный способ представления вариантов и результатов игры. Вот код:

enum class Choice {
    ROCK, PAPER, SCISSORS
}
fun main() {
    val computerChoice = Choice.values().random()
    print("Enter your choice (Rock, Paper, Scissors): ")
    val playerChoice = readLine()?.toUpperCase()
    if (playerChoice != null && playerChoice in Choice.values().map { it.name }) {
        val playerChoiceEnum = Choice.valueOf(playerChoice)
        println("Computer chose: $computerChoice")
        println("You chose: $playerChoiceEnum")
        println(getWinner(playerChoiceEnum, computerChoice))
    } else {
        println("Invalid choice. Please try again.")
    }
}
fun getWinner(playerChoice: Choice, computerChoice: Choice): String {
    if (playerChoice == computerChoice) {
        return "It's a tie!"
    }
    return when (playerChoice) {
        Choice.ROCK -> if (computerChoice == Choice.SCISSORS) "You win!" else "Computer wins!"
        Choice.PAPER -> if (computerChoice == Choice.ROCK) "You win!" else "Computer wins!"
        Choice.SCISSORS -> if (computerChoice == Choice.PAPER) "You win!" else "Computer wins!"
    }
}

В этой статье мы рассмотрели два разных метода реализации классической игры «Камень, ножницы, бумага» в Котлине. В базовой реализации использовался генератор случайных чисел и простые операторы if-else, тогда как реализация перечисления обеспечивала более структурированный подход. Независимо от выбранного вами метода, создание этой игры на Kotlin — отличный способ попрактиковаться в навыках программирования и весело провести время!

Не забывайте экспериментировать с кодом и добавлять свои собственные настройки. Вы можете расширить игру, чтобы отслеживать результаты, добавить графический пользовательский интерфейс или даже включить дополнительные опции, такие как «Ящерица» и «Спок». Возможности безграничны!

Итак, возьмите клавиатуру и начните писать собственную версию Rock, Paper, Scissors на Kotlin уже сегодня!