Crée ton catch and dodge sur Scratch !!
Avant de démarrer, regarde le GPS du catch and dodge.
Tuto pas-à-pas
Pour commencer, tu peux suivre ce tuto pour créer la base de ton catch and dodge !!

Dans ce projet, tu peux voir que les éléments de base dont on a besoin pour TOUS les jeux type Catch And Dodge sont :
- Un personnage
- Des objets à attraper
- ET/OU des objets à éviter
- Des vies OU/ET un score
Le personnage doit :
- Bouger de haut en bas (ou gauche à droite si tu préfères)
- Perdre des vies quand il est touché par un objet à eviter
- Gagner un point quand il attrape un bon objet
Choisir ses éléments graphiques
(en gros, choisir son arrière-plan , choisir ou dessiner ses personnages, choisir ou dessiner les objets qui apparaissent)
Pour choisir ou dessiner un personnage, on a plusieurs possibilités.
Sur l’image de gauche, ce sont les espaces où aller choisir tes personnages et arrière-plans. Sur l’image de droite, c’est l’éditeur de dessin dans le petit onglet « costume » de ton sprite ou en cliquant sur le pinceau.
ATTENTION : il faut bien rester dans le mode « vectoriel » pour dessiner tes personnages et décors !


Programmer la base de son jeu

Pour commencer, on doit dire au personnage de revenir au début à chaque fois qu’on commence une partie, sinon c’est trop facile 😉
C’est l’initialisation !
Ensuite, il faut que le personnage puisse se déplacer. Pour que les mouvements soient fluides, on utilise des conditions :
On va ajouter le bloc “rebondir si le bord est atteint” pour éviter que les personnages puissent sortir de l’écran. Teste avec et sans ce bloc pour voir la différence !

Maintenant que le personnage se déplace, on va créer le sytème d’objets à ramasser ou éviter !! On commence par choisir un sprite et créer des clones de ce sprite automatiquement.

Scratch nous permet de “copier” des sprites pendant que l’on joue ce qui nous évite de créer 100 objets et les placer les un après les autres : on appelle ces copies des clones !
Pour créer un clone, il y a le bloc “créer un clone de [moi-même]” dans la partie Contrôle de la bibliothèque de blocs de Scratch.
On ajoute un bloc ‘attendre 1 secondes’ pour éviter que d’avoir pleeeein de clones d’un coup !
Attention, on ajoute ce code sur le sprite de l’objet !!
Maintenant on va faire faire des trucs à nos objets… On va les placer à une position de départ – ici le haut de l’écran – et les faire tomber.
Pour qu’un clone fasse quelque chose quand il se crée, on utilise le bloc :


On veut que notre objet :
- apparaisse en haut de l’écran
- on donne une valeur y fixe en haut de l’écran et une position x aléatoire entre les bords de l’écran. Attention, à ce que ton sprite ne touche pas le bord pour qu’il ne soit pas supprimé dès le début !!
- avance tout seul vers le bas
- se supprime quand il touche le bord ou le joueur
Si tu veux modifier la vitesse, tu peux changer la valeur des pixels dans le blocs ‘ajouter à y’ !
Pour finir avec nos projectiles, on va cacher le sprite de l’objet. On ne veut voir que les clones du sprite quand ils sont créés !

Les conditions de victoire et défaite
Pour pouvoir gagner ou perdre le jeu, on va avoir besoin de variables !
On va maintenant créer des vies pour notre joueur pour pouvoir savoir quand on perd le jeu !
Et un score pour savoir quand on gagne le jeu !
On commence par mettre le score à 0 au début du jeu et les vies à 3 par exemple.
L’initialisation du joueur ressemble donc à :


On va maintenant modifier le code de notre objet à attraper pour qu’on gagne des points ! Le code du clone ressemble donc à :
On va maintenant modifier le code de notre objet à éviter pour qu’on perde des points de vie ! Le code du clone ressemble donc à :

Il ne reste plus qu’à déclencher la victoire et la défaite !
On va donc créer un écran de victoire et un écran de défaite.
Lorsqu’un joueur perd, on veut que tous les lutins réagissent (se cachent, suppriment les clones, arrière-plan qui change,…) en même temps !!!
Les blocs qui vont nous permettre de faire ça sont les blocs de message.
Les “messages” permettent de synchroniser les actions d’un ou plusieurs lutins entre eux.


Ici on va envoyer un message quand les points de vie du joueur tombent à 0 ou que le score est égale à 60 par exemple.
En fonction de l’état du jeu, on va basculer sur l’écran de victoire ou l’écran de défaite et on arrête les autres scripts du joueur.
Il ne faut pas oublier l’initialisation de l’arrière-plan !!!!
Envoyer un message créé un nouveau bloc déclencheur “quand je reçois [message]”, ici “quand je reçois [Victoire joueur 1]”.
On peut utiliser ce déclencheur dans tous nos lutins pour les faire réagir à la fin du jeu !
- Dans les personnages, on va les cacher et arrêter les autres scripts (les mouvements)
Il ne faut pas oublier de les remontrer dans l’initialisation !
- Dans les objets, on veut faire 2 choses : supprimer les clones et arrêter le script de création automatique
Comme tous les clones reçoivent le message, ils se suppriment tous.
Et voilà, tu as les bases pour faire ton propre catch and dodge 🙂
Tu peux le customiser comme tu veux, en choisissant tes sprites, le nombre d'objets à attraper ou/et à éviter, comment on perd des vies et des points, et à quoi ressemblera ton jeu !
Ressources vidéo
Pour savoir comment utiliser des clones pour créer des objets à attraper ou éviter, tu peux regarder cette vidéo :
Pour les collisions pour détecter les objets à attraper ou éviter
Pour utiliser des variables pour créer un système de score ou de vie
Pour utiliser des messages pour synchroniser ton projet
Aller plus loin
Maintenant que la base de ton jeu est finie, tu vas pouvoir améliorer ton jeu en ajoutant plein de comportements ou d’effets !!

Voici une liste d’idées :
-
- ajouter des ennemis
- ajouter des vies au joueur
- ajouter des objets à éviter
- ajouter des bonus
- ajouter un chronomètre
- ajouter des animations à ton joueur, ton décor, aux objets qui tombent ou aux écrans de fins
- ajouter du son
- ajouter plusieurs niveaux
- à toi de trouver ton idée 🙂
Pour savoir comment faire, rendez-vous sur la page Tuto Scratch !