Menu
CoddyTech

Zusammenfassung – Ampel

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

challenge icon

Aufgabe

Einfach

Simuliere 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ück
  • get_wait_time(light) gibt bei Rot 30, bei Gelb 3 und bei Grün 25 zurück
  • get_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 seconds

Probier 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

Übe selbstständig: Online-GDScript-Compiler