Menu
CoddyTech

Récapitulatif - Feu de circulation

Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 41 sur 78.

challenge icon

Défi

Facile

Simule un feu de circulation. Au niveau supérieur du script, déclare une enum nommée TrafficLight avec les options RED, YELLOW et GREEN, et écris trois fonctions qui utilisent chacune un match sur le feu :

  • get_driver_action(light) renvoie "Stop" pour le rouge, "Caution" pour le jaune et "Go" pour le vert
  • get_wait_time(light) renvoie 30 pour le rouge, 3 pour le jaune et 25 pour le vert
  • get_next_light(light) renvoie le feu suivant : le rouge passe au vert, le vert passe au jaune et le jaune passe au rouge

Le programme lit deux lignes : le nom du premier feu (RED, YELLOW ou GREEN) et le nombre de feux à afficher (un nombre entier, 1 ou plus). Pour chaque feu, affiche son nom, son action et son temps d’attente, puis passe au feu suivant. Enfin, affiche la somme de tous les temps d’attente.

Pour les entrées RED et 4, la sortie est :

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

Essayez vous-même

extends Node

# Déclare l’enum TrafficLight ici

# Écris get_driver_action(), get_wait_time() et get_next_light() ici

func _ready():
	var first := OS.read_string_from_stdin()
	var count := int(OS.read_string_from_stdin())
	# Affiche les feux et le temps d’attente total
	pass

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur GDScript en ligne