Если вы ищете веселую и простую игру для реализации на 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 уже сегодня!