Menu
CoddyTech

Итоги — парсер команд

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 11 из 78.

challenge icon

Задание

Легко

Напиши парсер команд для текстового приключения. Программа считывает по одной команде в строке, пока не встретит команду quit. Сначала обработай каждую строку: удали пробелы с обоих концов, преобразуй её в нижний регистр и раздели на слова по пробелам, пропустив пустые части.

Отвечай на каждую команду одной строкой, используя match для массива слов:

  • Нет слов: Type a command.
  • help: Commands: go, take, inventory, quit
  • go и направление из 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: empty
  • quit: 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

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

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