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.
Défi
FacileSimule 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 vertget_wait_time(light)renvoie30pour le rouge,3pour le jaune et25pour le vertget_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 secondsEssayez 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
1Les chaînes de caractères en profondeur
Méthodes des chaînesRechercher dans les chaînesRemplacer et supprimer les espacesDécouper et joindreRécapitulatif - Vérifier un nom d’utilisateur4Dictionnaires, partie 2
Dictionnaires imbriquésTableaux de dictionnairesFusionner des dictionnairesCopier des dictionnairesRécapitulatif - Compteur de fréquence7Énumérations
Qu’est-ce qu’une énumération ?Définir une énumérationValeurs d’une énumérationÉnumérations avec matchRécapitulatif - Feu de circulation10Fonctions avancées
Renvoyer plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’un tableau imbriqué13Système de gestion des stocks
Présentation du projetAjouter un article2Prise de décision avancée
Correspondance avec des variablesGardes de correspondanceMotifs de tableauMotifs de dictionnaireVérifications d’appartenanceRécapitulatif – Analyseur de commandes5Application de carnet d’adresses
Afficher le menuAjouter un contact8Gestionnaire des dossiers étudiants
Aperçu du projetAjouter un étudiant3Tableaux multidimensionnels
Bases des tableaux 2DAccéder aux éléments d’un tableau 2DBoucles imbriquées avec des tableaux 2DRécapitulatif - Tableaux 2DTableaux irréguliersMotifs courants des tableaux 2DRécapitulatif - Plateau de jeu6Les ensembles avec les dictionnaires
Qu’est-ce qu’un ensemble ?Un dictionnaire comme ensembleAjouter et supprimerUnion et intersectionDifférence d’ensemblesRécapitulatif – Supprimer les doublons9Agrégation avancée de données
Additionner des valeursTrouver le minimum et le maximumTri personnaliséRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur GDScript en ligne