Цикл while
Часть раздела Основы путешествия по 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. Если да, выполняется код внутри цикла: выводится текущее число и увеличивается счётчик. Затем условие проверяется снова, и процесс повторяется, пока условие не станет ложным.
Задание
ЛегкоСоздай систему мониторинга здоровья, которая использует цикл while для отслеживания процесса восстановления игрока. Сначала создай переменную с именем playerHealth и присвой ей значение 25. Затем создай другую переменную с именем maxHealth и присвой ей значение 100.
Напиши цикл while, который продолжается, пока здоровье игрока меньше его максимального здоровья. Внутри цикла сначала выведи текущее значение здоровья, затем увеличь playerHealth на 15. Поскольку вывод происходит до увеличения, последним выведенным значением будет 85: после добавления 15 условие цикла проверяется снова (значение playerHealth становится равно 100), и поскольку 100 не меньше maxHealth, цикл останавливается, не выводя 100.
Ожидаемый результат:2540557085
Попробуйте сами
-- Инициализируйте здоровье игрока и его максимальное здоровье
local playerHealth = 25
local maxHealth = 100
-- TODO: Напишите здесь свой код
-- Создайте цикл while, который выполняется, пока playerHealth < maxHealth
-- Внутри цикла: выведите текущее здоровье, затем увеличьте playerHealth на 15В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы 2: Сравнение и логика
Операторы равенстваОператоры сравненияОператор 'and'Оператор 'or'Оператор 'not'Сокращенные вычисленияЗначения Truthy и FalsyИтоги: Простая логика7Основы условной логики
Оператор if-thenОператор if-then-elseОператор elseifИтоги — Сундук с сокровищами10Таблицы, часть 1: Списки
Что такое таблица?Создание таблицыДоступ к элементам по индексуИзменение элементов по индексуОператор длины '#'table.insert()table.remove()Итоги: управление участниками группы13Проект: Простой магазин зелий
Настройка проектаДобавление зелья2Переменные и типы данных
Что такое переменная?ЧислаСтрокиБулевы значенияЗначение 'nil'Функция type()Правила именованияИтоги — Профиль персонажа5Базовый вывод
Вывод литераловВывод переменныхВывод нескольких значенийОбъединение строк и переменныхФункция tostring()ВводПриведение типовПовторение — Отчет о состоянииПовторение — До 1208Основы работы со строками
string.len()string.upper и string.lowerstring.sub()string.rep()string.find()Повторение — Форматирование имени пользователя3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади12Основы циклов
Цикл whileЦикл repeat-untilЧисловой цикл forЦикл for с шагомОператор 'break'Повторение — Обратный отсчётПотренируйтесь самостоятельно: Онлайн-компилятор Lua