Menu
Coddy logo textTech

Цикл while

Часть раздела Fundamentals путешествия по Lua на Coddy — урок 71 из 90.

Цикл while идеально подходит для этого — он продолжает выполнять один и тот же код снова и снова, пока условие остается true.

Базовый синтаксис цикла while выглядит следующим образом:

while condition do
    -- код для повторения
end

Вот простой пример, который выводит числа от 1 до 3:

local count = 1

while count <= 3 do
    print(count)
    count = count + 1
end

Этот цикл работает, сначала проверяя, является ли count <= 3 истинным. Если это так, выполняется код внутри, выводя текущее число и увеличивая счетчик. Затем условие проверяется снова, и процесс повторяется до тех пор, пока условие не станет ложным.

challenge icon

Задание

Легко

Создайте систему мониторинга здоровья, которая использует цикл while для отслеживания процесса восстановления игрока. Начните с создания переменной с именем playerHealth и присвойте ей значение 25. Затем создайте другую переменную с именем maxHealth и присвойте ей значение 100.

Напишите цикл while, который продолжается до тех пор, пока здоровье игрока меньше его максимального здоровья. Внутри цикла сначала выведите текущее значение здоровья, а затем увеличьте playerHealth на 15. Поскольку вывод происходит до увеличения, последним выведенным значением будет 85 — условие цикла проверяется снова после добавления 15 (что делает playerHealth равным 100), и так как 100 не меньше maxHealth, цикл останавливается без вывода 100.

Ожидаемый результат:
25
40
55
70
85

Шпаргалка

Цикл while повторяет код до тех пор, пока условие остается true:

while condition do
    -- код для повторения
end

Пример, который выводит числа от 1 до 3:

local count = 1

while count <= 3 do
    print(count)
    count = count + 1
end

Цикл проверяет условие, выполняет код, если оно истинно, затем проверяет снова, пока условие не станет ложным.

Попробуйте сами

-- Инициализация здоровья игрока и максимального здоровья
local playerHealth = 25
local maxHealth = 100

-- TODO: Напишите ваш код здесь
-- Создайте цикл while, который продолжается, пока playerHealth < maxHealth
-- Внутри цикла: выведите текущее здоровье, затем увеличьте playerHealth на 15
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals