Séances Cycle 4
C4-S04 — Variables locales et globales
Cycle 4 (5e - 4e - 3e)C4-S04
Portée des variables : Variables pour tous les sprites vs pour ce sprite uniquement
Niveau : 5e, 4e, 3e
Durée : 55 minutes
Outil : Scratch
Organisation : Binômes
⚡ Actions rapides :
⚡EN 2 MINUTES CHRONO (L'ESSENTIEL POUR LA CLASSE)
⏱️ 15' Notion de portée • 25' Application multi-lutins • 15' Synthèse🎯 Objectif unique : Distinguer les variables globales (partagées) et locales (propres à un lutin ou clone).
📦 Matériel exact : Projet multi-lutins avec vitesse individuelle.
⚠️ Piège n°1 à éviter : Cocher par mégarde 'Pour tous les lutins' lors de la création d'un clone.
🎯 Objectifs d'apprentissage observables
- Distinguer la portée globale (`Pour tous les sprites`) et la portée locale (`Pour ce sprite uniquement`).
- Comprendre les effets de bord indésirables lorsqu'une variable globale est modifiée par plusieurs lutins simultanément.
- Utiliser des variables locales pour stocker des propriétés propres à chaque entité (vitesse, point de vie individuel).
🎒 Matériel & Préparation
- Projet avec 3 ennemis identiques (ex : 3 chauves-souris ayant des vitesses différentes).
⏱️ Déroulé de la séance
1. La catastrophe de la variable partagée (15 min)
Si on crée une variable globale vitesse pour tous les sprites et que la Chauve-Souris 1 la met à 10, la Chauve-Souris 2 à 2 et la Chauve-Souris 3 à 5, elles vont toutes avancer à 5 en saccadant !
Solution : créer une variable locale vitesse cochée « Pour ce sprite uniquement ».
2. Atelier pratique (30 min)
📝 Mission : Les 3 monstres aux vitesses personnalisées
Moyen- Créer une variable locale
vitesse_locale(Pour ce sprite uniquement) sur le lutin Monstre. 2. Dupliquer le lutin en 3 exemplaires (Monstre 1, Monstre 2, Monstre 3). 3. Attribuer une vitesse différente à chaque monstre (5, 10, 15) et observer leur course indépendante.
3. Règle de bonne pratique de programmation (10 min)
- Variable globale : Utilisée uniquement pour ce qui est partagé par tout le jeu (ex :
Score_Global,Temps,Etat_Jeu). - Variable locale : Utilisée pour ce qui appartient à un seul lutin ou un seul clone (ex :
pv_monstre,vitesse_x,vitesse_y).
⚠️ Portée irréversible
Dans Scratch, on ne peut pas changer la portée d'une variable après sa création. Il faut la supprimer et la recréer en cochant la bonne option.
📊 Grille d'évaluation
| Critère observable | Avec aide | Autonome | Transfert / Dépassement |
|---|---|---|---|
| Choisit la bonne portée à la création de la variable | Crée toujours des variables globales par défaut | Coche délibérément `Pour ce sprite uniquement` selon le besoin | Explique la différence entre variable d'instance et variable globale |
| Évite les conflits et effets de bord | Écrase les variables d'un autre sprite sans s'en rendre compte | Compartimente les données individuelles | Prépare l'utilisation des clones autonomes |
Last modified on