Шаг 22.
Основы Kotlin.
Условные конструкции. Вложенные операторы if/else

    На этом шаге мы рассмотрим особенности использования вложенных операторов.

    В NyetHack игрок может быть "благословлен", и это будет означать, что при хорошем здоровье легкие раны заживут быстрее. Следующий шаг - добавить переменную для хранения признака благословения игрока (как вы думаете, какой тип данных подойдет?) и изменить вывод состояния, чтобы отразить это.

    Для этого можно вложить еще один оператор if/else в одну из существующих ветвей, например, соответствующую уровню здоровья большего или равного 75.


Когда будете изменять код, не забудьте дополнительную } до и после последней else if.
fun main() {
    val name = "Madrigal"
    var healthPoints = 89
    val isBlessed = true

    if (healthPoints == 100) {
        println(name + " is in excellent condition!")
    } else if (healthPoints >= 90) {
        println(name + " has a few scratches.")
    } else if (healthPoints >= 75) {
        if (isBlessed) {
            println(name + " has some minor wounds but is healing quite quickly!")
        }  else {
            println(name + " has some minor wounds.")
        }
    } else if (healthPoints >= 15) {
        println(name + " looks pretty hurt.")
    } else {
        println(name + " is in awful condition!")
    }
}
Файл с проектом можно взять здесь.


Рис.1. Проверка наличия благословения (Game.kt)

    Было добавлено булево значение val, представляющее наличие у игрока благословения. Также был добавлен оператор if/else, чтобы вывести дополнительное сообщение, когда у игрока от 75 до 89 единиц здоровья и есть благословение. Если предположить, что healthPoints имеет значение 89, вы ожидаемо увидите новое сообщение после запуска программы. Запустите ее и проверьте. Вывод должен быть такой:

  Madrigal has some minor wounds but is healing quite quickly!


Рис.2. Результат работы приложения

    Если вы получили другой вывод, проверьте, совпадает ли код с приведенным выше, в частности, имеет ли healthPoints значение 89.

    Вложенные операторы позволяют добавлять дополнительные ветви внутрь ветвей, что помогает выражать более точные и сложные условия.

    На следующем шаге мы рассмотрим условные операторы.




Предыдущий шаг Содержание Следующий шаг