# C2-A03 — Crée une danse en boucle

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="C2-A03"
  title="Crée une chorégraphie rythmée avec une boucle"
  cycle="2"
  level="CE1, CE2"
  duration="35 min"
  tool="Scratch"
  difficulty="Entraînement"
  needsAdult={false}
  mission="Fais danser ton personnage sur la piste ! Assemble un motif de 3 pas de danse et utilise la boucle répéter pour que la chorégraphie s'exécute en rythme."
/>

<PrintableVersion
  pdfColorUrl="/downloads/c2-a03-cree-une-danse.pdf"
  pdfColorName="Fiche mission : Crée ta danse en boucle (A4)"
/>

<StarterProject
  title="Projet Scratch de départ"
  type="scratch"
  downloadUrl="/projects/c2-a03-danse-boucle-depart.sb3"
  filename="c2-a03-danse-boucle-depart.sb3"
  size="0.5 KB"
  preparedItems={[
    "Lutin danseur 'Cassy Dance' avec ses 4 costumes de danse",
    "Décor de piste lumineuse 'Concert'",
    "Morceau de musique 'Dance Around' chargé",
  ]}
/>

---

## 🪜 Les étapes de ta danse

<StudentStep
  number={1}
  title="Place le danseur au centre de la piste"
  check="Le danseur commence toujours au centre (x: 0, y: -40)."
>
  Sous le drapeau vert, place :
  <BlockImage category="motion" text="aller à x: 0 y: -40" />
</StudentStep>

<StudentStep
  number={2}
  title="Assemble le motif de danse"
  check="Un motif = 1 saut + 1 changement de costume + 1 pas à droite + 1 pas à gauche."
>
  Emboîte les blocs de ton pas de danse : ```text costume suivant avancer de (20) pas attendre (0.3)
  secondes costume suivant avancer de (-20) pas attendre (0.3) secondes ```
</StudentStep>

<StudentStep
  number={3}
  title="Englobe le motif dans une boucle orange"
  check="Le bloc répéter 5 fois entoure tous les blocs de danse."
>
  Glisse le bloc orange <BlockImage category="control" text="répéter (5) fois" /> autour de ton
  motif de danse.
</StudentStep>

---

## 🧪 Teste ton programme

<TryIt expected="Dès le clic sur le drapeau vert, le danseur enchaîne ses 5 séries de pas de danse avec fluidité sans s'emmêler les jambes !">
  Lance l'animation et tape dans tes mains en rythme avec le danseur.
</TryIt>

---

## 💡 Indices progressifs

<Hint
  hints={[
    {
      level: 1,
      title: "Indice 1 — Pourquoi le danseur va trop vite ?",
      content: (
        <p>
          N'oublie pas d'ajouter un petit bloc <code>attendre 0.3 secondes</code> entre chaque
          changement de costume, sinon l'ordinateur va trop vite pour les yeux !
        </p>
      ),
    },
    {
      level: 2,
      title: "Indice 2 — Revenir au point de départ",
      content: (
        <p>
          Si tu fais <code>avancer de 20 pas</code> vers la droite, fais ensuite{" "}
          <code>avancer de -20 pas</code> pour revenir exactement au même endroit.
        </p>
      ),
    },
    {
      level: 3,
      title: "Indice 3 — Lancer la musique en même temps",
      content: (
        <p>
          Crée un 2e script sous un autre drapeau vert :{" "}
          <code>[quand drapeau cliqué] → [jouer le son Dance Around jusqu'au bout]</code>.
        </p>
      ),
    },
  ]}
/>

---

## 🔍 Solution et explications

<ActivitySolution
  title="Voir les scripts complets du danseur et de la musique"
  downloadUrl="/projects/c2-a03-danse-boucle-corrige.sb3"
  filename="c2-a03-danse-boucle-corrige.sb3"
  size="0.5 KB"
>

```text
// Script 1 : La Danse (Boucle bornée de 5 répétitions)
[quand le drapeau vert est cliqué]
aller à x: (0) y: (-40)
répéter (5) fois
    basculer sur le costume [cassy-dance-a v]
    ajouter (20) à x
    attendre (0.25) secondes
    basculer sur le costume [cassy-dance-b v]
    ajouter (-20) à x
    attendre (0.25) secondes

// Script 2 : La Musique en parallèle
[quand le drapeau vert est cliqué]
jouer le son [Dance Around v] jusqu'au bout
```

</ActivitySolution>

---

## 🌟 Défi bonus

<BonusChallenge title="Défi bonus : Synchronise un deuxième danseur !">
  Ajoute un second danseur qui fait la même chorégraphie en miroir (de l'autre côté de la piste).
</BonusChallenge>

---

<CompletionCheck
  activityId="C2-A03"
  nextActivityUrl="/activites/cycle-2/c2-a04-aide-le-chat-a-sortir"
  nextActivityTitle="C2-A04 — Aide le chat à sortir du labyrinthe"
  cycleUrl="/activites/cycle-2"
/>

<TeacherAccess lessonId="C2-S05" lessonTitle="Répétition" lessonUrl="/cycle-2/c2-s05-repetition" />
