Zusammenfassung – Ampel
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 41 von 78.
Aufgabe
EinfachSimuliere eine Ampel. Deklariere auf der obersten Ebene des Skripts ein Enum namens TrafficLight mit den Optionen RED, YELLOW und GREEN, und schreibe drei Funktionen, die jeweils ein match auf die Ampel anwenden:
get_driver_action(light)gibt bei Rot"Stop", bei Gelb"Caution"und bei Grün"Go"zurückget_wait_time(light)gibt bei Rot30, bei Gelb3und bei Grün25zurückget_next_light(light)gibt die Ampel zurück, die als Nächstes kommt: Rot wechselt zu Grün, Grün zu Gelb und Gelb zu Rot
Das Programm liest zwei Zeilen ein: den Namen der ersten Ampel (RED, YELLOW oder GREEN) und wie viele Ampeln angezeigt werden sollen (eine ganze Zahl, 1 oder größer). Gib für jede Ampel ihren Namen, ihre Aktion und ihre Wartezeit aus und gehe dann zur nächsten Ampel über. Gib zuletzt die Summe aller Wartezeiten aus.
Für die Eingaben RED und 4 lautet die Ausgabe:
RED: Stop for 30 seconds
GREEN: Go for 25 seconds
YELLOW: Caution for 3 seconds
RED: Stop for 30 seconds
Total wait: 88 secondsProbier es selbst
extends Node
# Deklariere hier das TrafficLight-Enum
# Schreibe hier get_driver_action(), get_wait_time() und get_next_light()
func _ready():
var first := OS.read_string_from_stdin()
var count := int(OS.read_string_from_stdin())
# Zeige die Ampeln und die gesamte Wartezeit an
pass
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