Menu
CoddyTech

Обработка пользовательского ввода

Часть раздела Логика и управление потоком путешествия по Lua на Coddy. Урок 28 из 54.

challenge icon

Задание

Легко

Расширьте игровой цикл, чтобы считывать и отображать команды пользователя с помощью io.read().

Вам предоставлены переменные startingRoom, gardenRoom и player из предыдущего задания.

Измените игровой цикл, чтобы:

  • Выводить описание текущей комнаты игрока
  • Выводить приглашение "> " (знак «больше» и пробел) без символа новой строки: используйте io.write() вместо print(), поскольку io.write() выводит текст, не добавляя символ новой строки в конце
  • Считывать команду пользователя с помощью io.read()
  • Выводить "You entered: ", а затем команду, которую ввёл пользователь
  • Проверять, равна ли команда "quit"; если да, установить gameRunning в false, чтобы выйти из цикла

Цикл должен продолжаться, пока пользователь не введёт "quit".

Ожидаемый формат вывода:

You find yourself in a dusty library filled with ancient books and scrolls.
> You entered: look
You find yourself in a dusty library filled with ancient books and scrolls.
> You entered: east
You find yourself in a dusty library filled with ancient books and scrolls.
> You entered: quit

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

-- Игровые комнаты
local startingRoom = {
    description = "You find yourself in a dusty library filled with ancient books and scrolls."
}

local gardenRoom = {
    description = "You step into a beautiful garden with blooming flowers and a gentle breeze."
}

-- Игрок
local player = {
    currentRoom = startingRoom
}

-- Игровой цикл
local gameRunning = true

-- TODO: Напишите здесь цикл while

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Lua