Séances Cycle 4
C4-S03 — États d'un programme
Cycle 4 (5e - 4e - 3e)C4-S03
Machine à états finis : Modéliser le cycle de vie d'une application
Niveau : 5e, 4e, 3e
Durée : 55 minutes
Outil : Scratch
Organisation : Binômes
⚡ Actions rapides :👁️Vue Élève (C4-A02) →
⚡EN 2 MINUTES CHRONO (L'ESSENTIEL POUR LA CLASSE)
⏱️ 15' Diagramme d'états • 25' Variable ETAT_JEU • 15' Bilan🎯 Objectif unique : Implémenter une machine à états finis (MENU, JEU, PAUSE, GAME_OVER).
📦 Matériel exact : Diagramme d'états d'une application.
⚠️ Piège n°1 à éviter : Laisser tourner la physique du jeu pendant l'état PAUSE.
🎯 Objectifs d'apprentissage observables
- Comprendre et formaliser la notion d'état d'un programme informatique (Menu, Jeu en cours, Pause, Victoire, Défaite).
- Utiliser une variable globale `Etat` et restreindre les transitions autorisées entre états.
- Structurer le code de l'application selon une boucle principale de gestion d'états (Main Loop).
🎒 Le graphe des états d'un jeu vidéo
Code
⏱️ Déroulé de la séance
1. Modélisation papier du diagramme d'états (15 min)
Les élèves dessinent les bulles des différents états et tracent les flèches des transitions avec leurs conditions déclenchantes.
2. Atelier de programmation (30 min)
📝 Mission : Le gestionnaire d'états global
MoyenCréer une variable Etat pouvant prendre les valeurs : MENU, JEU, PAUSE, FIN. - Bloquer
le déplacement du joueur quand Etat != JEU. - Programmer la touche P pour basculer entre JEU
et PAUSE.
3. Bilan d'architecture logicielle (10 min)
La machine à états garantit qu'on ne peut pas perdre de vie quand on est dans le menu ou en pause.
📊 Grille d'évaluation
| Critère observable | Avec aide | Autonome | Transfert / Dépassement |
|---|---|---|---|
| Modélise les états et transitions sur papier | Oublie des états intermédiaires (pause, game over) | Trace un graphe d'états complet et cohérent | Ajoute un état `NIVEAU_2` avec de nouvelles règles |
| Conditionne l'exécution des scripts à l'état actif | Laisse les lutins actifs pendant le menu ou la pause | Vérifie `Etat = JEU` avant d'autoriser les actions | Gère une transition propre avec réinitialisation des scores |
Last modified on