1. Le jeu
Avant de programmer, joue d'abord au jeu pour bien comprendre ce que tu devras coder ! Utilise les flèches du clavier pour déplacer le chat.
Que se passe-t-il quand le chat touche un mur ? Quand il touche le requin ? Quand il passe dans la boue ? C'est exactement ce que tu vas programmer !
2. Préparer la scène
Ouvre Scratch, crée un nouveau projet et donne-lui un nom. Tu vas dessiner le labyrinthe directement dans l'éditeur d'arrière-plan.
Commence par colorier entièrement l'arrière-plan d'une couleur unie. Tu n'es pas obligé d'utiliser la même couleur que sur l'exemple, choisis celle que tu préfères ! Ce sera la couleur de tes murs.
Utilise ensuite l'outil gomme pour tracer tes couloirs.
La gomme efface vers la couleur de fond de la scène. Quelle couleur veux-tu pour tes couloirs ?
Prévois une zone de départ et une zone d'arrivée. Dessine un point vert dans ta zone d'arrivée. Ce sera la couleur que le chat devra toucher pour gagner.
3. Le sprite Chat
Ajuste la taille du sprite Chat pour qu'il puisse se déplacer dans tes couloirs. A toi de voir quelle taille lui convient le mieux !
Si le chat est trop grand, que se passera-t-il dans les couloirs ?
Place le chat sur le point de départ. ⚠️ Fais en sorte qu'il démarre toujours au même endroit lorsqu'on relance le programme.
4. Déplacer le chat avec les flèches
Il existe deux méthodes pour contrôler le chat au clavier. Les deux fonctionnent, mais pas de la même façon. Programme et teste les deux avant de choisir !
Plus simple à comprendre et à programmer.
Quel bloc se déclenche quand on appuie sur une touche ?
Plus difficile à programmer, mais la jouabilité est meilleure : le chat répond plus fluidement.
Un capteur doit être vérifié en permanence. Quel bloc Scratch permet de répéter quelque chose indéfiniment ?
5. Détecter les murs
Si le chat touche un mur, il doit retourner immédiatement à son point de départ.
Comment Scratch peut-il savoir que le chat touche la couleur des murs ?
Ce test doit-il se faire une seule fois ou en permanence ? Et tu as bien noté les coordonnées X et Y du point de départ à l'étape 3, non ?
6. Ajouter le requin
Choisis un sprite requin dans la bibliothèque et ajuste sa taille. Place-le dans le labyrinthe — pas sur le point de départ !
// Déplacement aléatoire
Le requin se déplace vers un endroit aléatoire toutes les 5 secondes.
Comment faire pour qu'un sprite aille vers un endroit au hasard sur la scène ?
// Animation de la bouche
Le requin a plusieurs costumes (bouche ouverte / bouche fermée). Utilise-les pour l'animer !
Quel bloc permet de passer au costume suivant ? Comment contrôler la vitesse de l'animation ?
// Collision avec le requin
Si le chat touche le requin, il retourne au point de départ.
Ce test se fait dans le script de quel sprite ? Le chat ou le requin ?
Quel bloc permet de savoir si un sprite en touche un autre ?
7. Ajouter la boue
Ajoute des zones de "boue" sur ton arrière-plan. Tu peux les dessiner avec une couleur marron. Quand le chat passe dessus, il glisse vers le bas.
La scène est un repère orthonormé avec un axe X et un axe Y. Sur quelle coordonnée du chat souhaites-tu agir pour le faire glisser vers le bas ? X ou Y ?
De combien veux-tu faire glisser le chat à chaque instant ? Commence par une petite valeur et teste !
8. Détecter l'arrivée
Quand le chat atteint la zone d'arrivée, le jeu affiche un message de félicitations et s'arrête.
Comment savoir que le chat a atteint la zone d'arrivée ? Tu as utilisé un bloc similaire pour les murs à l'étape 5 !
Quel bloc permet d'afficher un message ? Et quel bloc arrête tout le programme ?
9. Les blocs clés
Voici les blocs Scratch que tu as utilisés dans ce projet. Assure-toi de savoir à quoi sert chacun !
| Bloc | À quoi ça sert ? |
|---|---|
| Quand la touche [flèche] est pressée | Déclenche une action sur pression d'une touche (méthode 1) |
| Touche [flèche] pressée ? | Capteur : vérifie si une touche est enfoncée (méthode 2) |
| Répéter indéfiniment | Boucle infinie — pour des vérifications continues |
| Touche la couleur [couleur] ? | Détecte le contact avec une couleur précise (murs, arrivée) |
| Touche [sprite] ? | Détecte le contact avec un autre sprite (requin) |
| Aller à x: [ ] y: [ ] | Téléporte un sprite à des coordonnées précises (retour départ) |
| Aller à [position aléatoire] | Déplace un sprite vers un endroit aléatoire (requin) |
| Attendre [ ] secondes | Fait une pause dans le script |
| Basculer sur le costume suivant | Passe au costume suivant pour animer (bouche requin) |
| Ajouter [ ] à y | Modifie la coordonnée Y — utile pour la boue |
| Dire [message] | Affiche un message à l'écran (fin de jeu) |
| Arrêter [tout] | Stoppe tous les scripts du projet |