🗒 Задача¶
Напиши небольшую консольную игру, в которой нужно угадать число в промежутке от 1 до 9. Игроку дается 5 попыток, чтобы угадать это число.
– если игрок угадывает число, выводится сообщение “Это была великолепная игра!” и программа завершает работу;
– если не угадывает, то отображается "Неверно" или что-то на твое усмотрение и оставшееся количество попыток;
– после истечения попыток выводится сообщение “Было загадано число N”.
❌ Ошибки¶
-
объявляют вместо 5 попыток любое другое значение — нужно именно 5 и под это число выстраивать решение
-
декремент используется неправильно (постфикс вместо инфикса)
✏️ Комментарии¶
Согласно [конвенции стиля Котлин](https://kotlinlang.org/docs/coding-conventions.html) циклы лучше обосабливать пустыми разделяющими строками сверху и снизу. Чтобы код не выглядел таким монолитным)
Думаю можно попробовать использовать do while. В условии проверять сразу два условия – что попытки еще не окончены и инпут пользователя не равен загаданному числу
Для рандома можно использовать запись с помощью экстеншн функции `random()`. И импорт использовать не придется. Она применяется, например, к диапазону `1..9`
Лучше не "спамить" пустыми принтами для дополнительной пустой строки, а использовать символ переноса строки)
Дается 5 попыток, значит объявлять нужно именно это значение)
И выстраивать условие от него. Это нужно для поддержки и расширяемости, если придется быстро поменять только количество попыток.
🧾 Решение¶
fun main() {
val number = (1..9).random()
var counter = 5
do {
println("Введите число от 1 до 9!")
val numberEnter = readln().toInt()
if (numberEnter == number) {
println("Это была великолепная игра!")
return
} else {
--counter
println("Неверно! Осталось $counter попыток.")
}
} while (counter > 0)
println("Было загадано число $number.")
}