# C3-S06 — Variables

import { AssessmentGrid } from "../../src/components/AssessmentGrid";
import { Correction } from "../../src/components/Correction";
import { DownloadCard } from "../../src/components/DownloadCard";
import { ExerciseCard } from "../../src/components/ExerciseCard";
import { LearningObjectives } from "../../src/components/LearningObjectives";
import { LessonHeader } from "../../src/components/LessonHeader";
import { LessonNavigation } from "../../src/components/LessonNavigation";
import { TeacherTip } from "../../src/components/TeacherTip";
import { WatchOut } from "../../src/components/WatchOut";

<LessonHeader
  id="C3-S06"
  title="Variables : Création, initialisation et score de jeu"
  cycle="3"
  levels="CM1, CM2, 6e"
  duration="45 à 55 minutes"
  tool="Scratch"
  grouping="Binômes"
  expressPrep={{
    objective: "Créer, initialiser à 0 et incrémenter une variable Score.",
    material: "Projet de collecte de pièces ou pommes.",
    trap: "Oublier de remettre la variable à 0 au drapeau vert.",
    timing: "10' Notion de mémoire • 25' Compteur de score • 10' Validation",
  }}
  studentUrl="/activites/cycle-3/c3-a02-compte-les-points"
  studentId="C3-A02"
  pdfUrl="/downloads/c3-s06-fiche-variables-score-v1.pdf"
/>

<LearningObjectives
  objectives={[
    "Définir une variable comme une boîte mémoire nommée capable de stocker et mettre à jour une information.",
    "Créer une variable `Score` et l'initialiser obligatoirement à 0 au début du programme.",
    "Incrémenter la variable (`ajouter 1 à score`) lors d'un événement précis.",
  ]}
/>

---

## 🎒 Matériel & Préparation

- Fiche explicative de la métaphore de la boîte mémoire.
- Projet de base avec un lutin attrapeur et un objet bonus (ex : une pomme ou une pièce).

---

## ⏱️ Déroulé de la séance

### 1. La métaphore de la boîte (10 min)

Une variable est une boîte étiquetée.

- _Son nom :_ `Score`
- _Son contenu :_ Un nombre (ex : `0`, puis `1`, puis `2`...)
- _Règle essentielle :_ À chaque nouvelle partie, on doit vider la boîte → **Initialiser à 0**.

### 2. Atelier de programmation du score (25 min)

<ExerciseCard title="Mission : Le compteur de pommes" difficulty="Moyen">
  1. Aller dans la catégorie orange foncé **Variables** → Créer une variable `Score`. 2. Initialiser
  `mettre [Score v] à 0` au clic sur le drapeau vert. 3. Quand le panier touche une pomme qui tombe
  → `ajouter (1) à [Score v]`, jouer un son et cacher la pomme.
</ExerciseCard>

<Correction title="Architecture du script de comptage">

```text
// Script sur la Pomme
[quand le drapeau vert est cliqué]
mettre [Score v] à 0
montrer
aller à x: (nombre aléatoire entre -200 et 200) y: (150)

répéter indéfiniment
    ajouter (-5) à y
    si <toucher le [Panier v] ?> alors
        ajouter (1) à [Score v]
        jouer le son [Coin v]
        aller à x: (nombre aléatoire entre -200 et 200) y: (150)
```

</Correction>

### 3. Piège classique : `mettre à` vs `ajouter à` (10 min)

- `mettre [score] à 1` : force la valeur à 1 (ne progresse jamais au-delà de 1 !).
- `ajouter (1) à [score]` : augmente la valeur actuelle de +1.

<WatchOut title="Oubli d'initialisation">
  Si le bloc `mettre [score] à 0` est oublié, le joueur conserve son score de la partie précédente
  dès qu'il reclique sur le drapeau vert.
</WatchOut>

---

## 📊 Grille d'évaluation

<AssessmentGrid
  criteria={[
    {
      label: "Crée et nomme une variable explicite",
      withHelp: "Utilise la variable par défaut `ma variable`",
      autonomous: "Crée une variable nommée `Score` ou `Points`",
      transfer: "Crée une seconde variable `Vies` initialisée à 3",
    },
    {
      label: "Initialise et incrémente correctement",
      withHelp: "Confond `mettre à` et `ajouter à`",
      autonomous: "Initialise à 0 et ajoute +1 à chaque prise",
      transfer: "Déclenche une fin de partie quand `Score = 10`",
    },
  ]}
/>

---

## 📥 Téléchargements

<DownloadCard
  title="Fiche méthode : Variables et initialisation (C3-S06)"
  filename="c3-s06-fiche-variables-score-v1.pdf"
  format="pdf"
  size="1.2 KB"
  version="1.0"
  license="CC-BY-SA 4.0"
  href="/downloads/c3-s06-fiche-variables-score-v1.pdf"
/>


<LessonNavigation
  prevUrl="/cycle-3/c3-s05-conditions-et-capteurs"
  prevId="C3-S05"
  prevTitle="Conditions et capteurs"
  nextUrl="/cycle-3/c3-s07-questions-et-operateurs"
  nextId="C3-S07"
  nextTitle="Questions et opérateurs"
  cycleUrl="/cycle-3"
  cycleTitle="Vue d'ensemble du Cycle 3"
/>
