Перейти к содержанию

🗒 Задача

В игре есть запертая дверь. Игрок должен найти ключ. Нужно написать лямбда-функцию, которая будет проверять, есть ли у игрока ключ. Функция должна принимать объект игрока и возвращать строку: «Игрок открыл дверь», если ключ есть, и «Дверь заперта», если ключа нет.

Для проверки работы функции нужно написать класс игрока, в котором будет храниться информация о наличии ключа.

❌ Ошибки

✏️ Комментарии

Вместо анонимной функции корректнее использовать лямбда-функцию (согласно ТЗ).

🧾 Решение

class Player(var hasKey: Boolean)

fun main() {
    val checkDoor = { player: Player ->
        if (player.hasKey) {
            "Игрок открыл дверь."
        } else {
            "Дверь заперта."
        }
    }

    val player1 = Player(hasKey = true)
    val player2 = Player(hasKey = false)

    println(checkDoor(player1))
    println(checkDoor(player2))
}