Menu
Coddy logo textTech

Récapitulatif - Feu de signalisation

Fait partie de la section Logique & Flux du Journey Dart de Coddy — leçon 62 sur 65.

challenge icon

Défi

Facile

Créez un système complet de gestion des feux de signalisation qui démontre votre maîtrise des enums et des instructions switch. Votre tâche consiste à construire un système capable de gérer plusieurs feux de signalisation et de fournir les actions appropriées pour les conducteurs.

  1. Définissez un enum appelé TrafficLight avec trois valeurs : red, yellow et green
  2. Créez une fonction appelée getDriverAction qui prend un paramètre TrafficLight et retourne la chaîne d'action appropriée à l'aide d'une instruction switch :
    • Pour TrafficLight.red : retournez "Stop"
    • Pour TrafficLight.yellow : retournez "Caution"
    • Pour TrafficLight.green : retournez "Go"
  3. Créez une fonction appelée getWaitTime qui prend un paramètre TrafficLight et retourne le temps d'attente en secondes à l'aide d'une instruction switch :
    • Pour TrafficLight.red : retournez 30
    • Pour TrafficLight.yellow : retournez 3
    • Pour TrafficLight.green : retournez 25
  4. Créez trois variables pour représenter différentes intersections :
    • intersection1 de type TrafficLight réglée sur TrafficLight.red
    • intersection2 de type TrafficLight réglée sur TrafficLight.yellow
    • intersection3 de type TrafficLight réglée sur TrafficLight.green
  5. Pour chaque intersection, affichez le statut dans ce format exact :
    • Intersection 1: Red light - Stop - Wait time: 30 seconds
    • Intersection 2: Yellow light - Caution - Wait time: 3 seconds
    • Intersection 3: Green light - Go - Wait time: 25 seconds
  6. Simulez un changement de séquence de feux de signalisation en mettant à jour intersection1 vers TrafficLight.green
  7. Affichez le statut mis à jour : Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. Créez un résumé en affichant : Traffic system managing 3 intersections successfully

Votre programme doit démontrer la puissance de la combinaison des enums avec les instructions switch pour créer un système de gestion du trafic lisible et sécurisé au niveau des types. Les instructions switch doivent gérer toutes les valeurs de l'enum et retourner exactement les chaînes et les nombres spécifiés ci-dessus.

Essayez vous-même

import 'dart:io';

// TODO: Définissez votre enum TrafficLight ici

// TODO: Créez votre fonction getDriverAction ici

// TODO: Créez votre fonction getWaitTime ici

void main() {
  // TODO: Écrivez votre code ci-dessous
  
  // Créer les variables d'intersection
  
  // Afficher le statut de chaque intersection
  
  // Mettre à jour intersection1 et afficher le statut mis à jour
  
  // Afficher le résumé
}

Toutes les leçons de Logique & Flux