Rückblick – Befehlsparser
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 11 von 78.
Aufgabe
EinfachSchreibe 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, quitgound eine Richtung ausDIRECTIONS:You go DIRECTION.gound ein beliebiges anderes Wort:You can't go WORD.takeund ein Gegenstand, der bereits ininventoryist:You already have the ITEM.takeund ein beliebiger anderer Gegenstand: Füge ihn zuinventoryhinzu und gibYou take the ITEM.ausinventory:Inventory:und die Gegenstände, getrennt durch ein Komma und ein Leerzeichen, oderInventory: emptyquit:Goodbye!, und das Programm beendet das Einlesen- Alles andere:
Unknown command.
Für die folgende Eingabe
help
Go North
go up
take lamp
inventory
quitlautet 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
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler