Menu
CoddyTech

Riepilogo - Semaforo

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 41 di 78.

challenge icon

Sfida

Facile

Simula un semaforo. Al livello superiore dello script, dichiara un enum chiamato TrafficLight con le opzioni RED, YELLOW e GREEN, e scrivi tre funzioni che usano ciascuna un match sul semaforo:

  • get_driver_action(light) restituisce "Stop" per il rosso, "Caution" per il giallo e "Go" per il verde
  • get_wait_time(light) restituisce 30 per il rosso, 3 per il giallo e 25 per il verde
  • get_next_light(light) restituisce il semaforo successivo: il rosso diventa verde, il verde diventa giallo e il giallo diventa rosso

Il programma legge due righe: il nome del primo semaforo (RED, YELLOW o GREEN) e quanti semafori mostrare (un numero intero, 1 o più). Per ogni semaforo, stampa il suo nome, la sua azione e il suo tempo di attesa, poi passa al semaforo successivo. Infine, stampa la somma di tutti i tempi di attesa.

Per gli input RED e 4, l'output è:

RED: Stop for 30 seconds
GREEN: Go for 25 seconds
YELLOW: Caution for 3 seconds
RED: Stop for 30 seconds
Total wait: 88 seconds

Provalo tu

extends Node

# Dichiara l'enum TrafficLight qui

# Scrivi get_driver_action(), get_wait_time() e get_next_light() qui

func _ready():
	var first := OS.read_string_from_stdin()
	var count := int(OS.read_string_from_stdin())
	# Mostra i semafori e il tempo di attesa totale
	pass

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore GDScript online