# C3-A02 — Compte les points

import { ActivityHero } from "../../../src/components/ActivityHero";
import { ActivitySolution } from "../../../src/components/ActivitySolution";
import { BlockImage } from "../../../src/components/BlockImage";
import { BonusChallenge } from "../../../src/components/BonusChallenge";
import { CompletionCheck } from "../../../src/components/CompletionCheck";
import { Hint } from "../../../src/components/Hint";
import { PrintableVersion } from "../../../src/components/PrintableVersion";
import { StarterProject } from "../../../src/components/StarterProject";
import { StudentStep } from "../../../src/components/StudentStep";
import { TeacherAccess } from "../../../src/components/TeacherAccess";
import { TryIt } from "../../../src/components/TryIt";

<ActivityHero
  id="C3-A02"
  title="Crée un score et compte les points"
  cycle="3"
  level="CM1, CM2, 6e"
  duration="45 min"
  tool="Scratch"
  difficulty="Entraînement"
  needsAdult={false}
  mission="Des pommes tombent du ciel ! Pilote ton panier en bas de l'écran pour les rattraper. Crée une variable Score pour compter tes points et remets-la à zéro au début de chaque partie."
/>

<PrintableVersion
  pdfColorUrl="/downloads/c3-a02-compte-les-points.pdf"
  pdfColorName="Fiche mission élève : Gestion du score (A4)"
/>

<StarterProject
  title="Projet Scratch de départ"
  type="scratch"
  downloadUrl="/projects/c3-a02-score-depart.sb3"
  filename="c3-a02-score-depart.sb3"
  size="0.5 KB"
  preparedItems={[
    "Lutin Panier 'Bowl' en bas de la scène",
    "Lutin Pomme 'Apple' qui tombe du haut de l'écran",
    "Arrière-plan champêtre 'Blue Sky'",
  ]}
/>

---

## 🪜 Les étapes de ton score

<StudentStep
  number={1}
  title="Crée la variable Score"
  check="La variable Score apparaît en haut à gauche de la scène avec sa valeur."
>
  1. Clique sur la catégorie orange foncé **Variables**. 2. Clique sur **Créer une variable**. 3.
  Nomme-la `Score` et choisis *Pour tous les sprites*.
</StudentStep>

<StudentStep
  number={2}
  title="Initialise le score à 0 au drapeau vert"
  check="À chaque clic sur le drapeau, le score revient exactement à 0."
>
  Sur le **Panier**, ajoute tout en haut du script :
  <BlockImage category="variables" text="mettre [Score v] à 0" />
</StudentStep>

<StudentStep number={3} title="Augmente le score à chaque pomme attrapée" check="Le score augmente de +1 et ne saute pas de plusieurs points d'un coup.">
  Sur la **Pomme**, quand elle touche le Panier :
  <BlockImage category="variables" text="ajouter (1) à [Score v]" />
  ```text
  si <touche le [Bowl v] ?> alors
      ajouter (1) à [Score v]
      jouer le son [Chomp v]
      aller à x: (nombre aléatoire entre -200 et 200) y: (160)
  ```
</StudentStep>

---

## 🧪 Teste ton compteur

<TryIt expected="Attrape 3 pommes : le compteur affiche 3. Reclique sur le drapeau vert : le compteur revient immédiatement à 0 pour une nouvelle partie propre.">
  Attrape 10 pommes pour remporter la médaille d'or !
</TryIt>

---

## 💡 Indices progressifs

<Hint
  hints={[
    {
      level: 1,
      title: "Indice 1 — La différence entre 'mettre à' et 'ajouter à'",
      content: (
        <p>
          <code>mettre [Score] à 0</code> fixe le score au début. <code>ajouter (1) à [Score]</code>{" "}
          l'augmente pendant le jeu.
        </p>
      ),
    },
    {
      level: 2,
      title: "Indice 2 — Le panier suit la souris",
      content: (
        <p>
          Sur le Panier :{" "}
          <code>[quand drapeau cliqué] -&gt; [répéter indéfiniment [mettre x à (souris x)]]</code>{" "}
          pour un pilotage ultra fluide !
        </p>
      ),
    },
    {
      level: 3,
      title: "Indice 3 — La chute de la pomme",
      content: (
        <p>
          Dans la boucle de la pomme : <code>ajouter (-6) à y</code> pour la faire descendre
          doucement.
        </p>
      ),
    },
  ]}
/>

---

## 🔍 Solution et explications

<ActivitySolution
  title="Voir les scripts complets du panier et de la pomme"
  downloadUrl="/projects/c3-a02-score-corrige.sb3"
  filename="c3-a02-score-corrige.sb3"
  size="0.5 KB"
>

```text
// Sur le Panier (Bowl)
[quand le drapeau vert est cliqué]
mettre [Score v] à 0
aller à x: (0) y: (-140)
répéter indéfiniment
    mettre x à (souris x)

// Sur la Pomme (Apple)
[quand le drapeau vert est cliqué]
aller à x: (nombre aléatoire entre -200 et 200) y: (160)
montrer
répéter indéfiniment
    ajouter (-6) à y
    si <touche le [Bowl v] ?> alors
        ajouter (1) à [Score v]
        jouer le son [Chomp v]
        aller à x: (nombre aléatoire entre -200 et 200) y: (160)
    si <(ordonnée y) < (-160)> alors
        aller à x: (nombre aléatoire entre -200 et 200) y: (160)
```

</ActivitySolution>

---

## 🌟 Défi bonus

<BonusChallenge title="Défi bonus : Ajoute un message de victoire à 10 points !">
  Ajoute une condition dans la boucle : `si <(Score) > 9> alors [dire "VICTOIRE !" pendant 2s] [stop tout]`.
</BonusChallenge>

---

<CompletionCheck
  activityId="C3-A02"
  nextActivityUrl="/activites/cycle-3/c3-a03-evite-les-obstacles"
  nextActivityTitle="C3-A03 — Évite les obstacles"
  cycleUrl="/activites/cycle-3"
/>

<TeacherAccess lessonId="C3-S06" lessonTitle="Variables" lessonUrl="/cycle-3/c3-s06-variables" />
