Итоги — парсер команд
Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 11 из 78.
Задание
ЛегкоНапиши парсер команд для текстового приключения. Программа считывает по одной команде в строке, пока не встретит команду quit. Сначала обработай каждую строку: удали пробелы с обоих концов, преобразуй её в нижний регистр и раздели на слова по пробелам, пропустив пустые части.
Отвечай на каждую команду одной строкой, используя match для массива слов:
- Нет слов:
Type a command. help:Commands: go, take, inventory, quitgoи направление изDIRECTIONS:You go DIRECTION.goи любое другое слово:You can't go WORD.takeи предмет, который уже есть вinventory:You already have the ITEM.takeи любой другой предмет: добавь его вinventoryи выведиYou take the ITEM.inventory:Inventory:и предметы, разделённые запятой и пробелом, илиInventory: emptyquit:Goodbye!, после чего программа прекращает чтение- Всё остальное:
Unknown command.
Для приведённого ниже ввода
help
Go North
go up
take lamp
inventory
quitвывод будет таким:
Commands: go, take, inventory, quit
You go north.
You can't go up.
You take the lamp.
Inventory: lamp
Goodbye!Попробуйте сами
extends Node
func _ready():
const DIRECTIONS = ["north", "south", "east", "west"]
var inventory: Array[String] = []
# Считывайте команды и отвечайте на них, пока игрок не введёт quit
Все уроки раздела Логика и потоки выполнения
1Строки: углублённое изучение
Методы строкПоиск в строкахЗамена и обрезка пробеловРазделение и объединениеПовторение — проверка имени пользователя4Словари. Часть 2
Вложенные словариМассивы словарейОбъединение словарейКопирование словарейПовторение — подсчёт частоты10Продвинутые функции
Возврат нескольких значенийЛямбда-функции. Часть 1Лямбда-функции. Часть 2Повторение — сортировка с помощью лямбда-функцииРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного массива13Система управления запасами
Обзор проектаДобавление товара2Продвинутое управление ветвлением
Сопоставление с переменнымиУсловия в шаблонахШаблоны массивовШаблоны словарейПроверка принадлежностиИтоги — парсер команд5Приложение «Телефонная книга»
Показать менюДобавить контакт8Менеджер успеваемости студентов
Обзор проектаДобавить студента3Многомерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваВложенные циклы с двумерными массивамиПовторение: двумерные массивыРваные массивыТипичные шаблоны работы с двумерными массивамиПовторение: игровое поле6Множества и словари
Что такое множество?Словарь как множествоДобавление и удалениеОбъединение и пересечениеРазность множествПовторение — удаление дубликатовПотренируйтесь самостоятельно: Онлайн-компилятор GDScript