Menu
CoddyTech

Rückblick – Befehlsparser

Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 11 von 78.

challenge icon

Aufgabe

Einfach

Schreibe den Befehlsparser für ein Textabenteuer. Das Programm liest jeweils einen Befehl pro Zeile, bis zum Befehl quit. Bereinige zuerst jede Zeile: Entferne die Leerzeichen an beiden Enden, wandle sie in Kleinbuchstaben um und teile sie an den Leerzeichen in Wörter auf, wobei leere Teile ausgelassen werden.

Beantworte jeden Befehl mit einer Zeile und verwende match auf dem Array der Wörter:

  • Keine Wörter: Type a command.
  • help: Commands: go, take, inventory, quit
  • go und eine Richtung aus DIRECTIONS: You go DIRECTION.
  • go und ein beliebiges anderes Wort: You can't go WORD.
  • take und ein Gegenstand, der bereits in inventory ist: You already have the ITEM.
  • take und ein beliebiger anderer Gegenstand: Füge ihn zu inventory hinzu und gib You take the ITEM. aus
  • inventory: Inventory: und die Gegenstände, getrennt durch ein Komma und ein Leerzeichen, oder Inventory: empty
  • quit: Goodbye!, und das Programm beendet das Einlesen
  • Alles andere: Unknown command.

Für die folgende Eingabe

help
Go North
go up
take lamp
inventory
quit

lautet die Ausgabe:

Commands: go, take, inventory, quit
You go north.
You can't go up.
You take the lamp.
Inventory: lamp
Goodbye!

Probier es selbst

extends Node

func _ready():
	const DIRECTIONS = ["north", "south", "east", "west"]
	var inventory: Array[String] = []
	# Lies Befehle und reagiere darauf, bis der Spieler quit eingibt

Alle Lektionen in Logik & Ablaufsteuerung

Übe selbstständig: Online-GDScript-Compiler