1. Le jeu
Voici le résultat final que tu vas construire étape par étape. Déplace le panier avec la souris pour attraper les fruits qui tombent. Attention à l'insecte — si tu l'attrapes, c'est terminé !
2. Préparation
Avant de programmer quoi que ce soit, il faut préparer les éléments visuels du jeu.
// Les sprites du jeu
Voici tous les éléments que ton projet doit contenir. Tu vas les ajouter un par un au fil des étapes.
Commence par ajouter un arrière-plan, un sprite de panier (Bowl) et un sprite de pomme (Apple).
Crée également un nouveau sprite vide.
Dans l'éditeur de costume de ce nouveau sprite, écris le texte "Perdu !" en grand au centre.
Tu ajouteras la banane et la coccinelle plus tard dans la leçon, une fois la pomme fonctionnelle.
N'oublie pas de te connecter à Scratch et de nommer ton projet avant de commencer !
3. Programmer le panier
Fais en sorte que le panier suive en permanence la position de la souris. Dans un premier temps, il peut se déplacer partout sur la scène — c'est normal, on affinera ensuite.
Une fois que ton panier suit la souris sur toute la scène, tu dois le limiter à la partie basse. Il ne doit se déplacer que horizontalement — pas question qu'il monte ou descende avec la souris.
La scène est un repère avec un axe X (horizontal) et un axe Y (vertical). L'une de ces deux coordonnées doit suivre la souris, l'autre doit être fixée. Laquelle fixer ? À toi de trouver.
Ne passe pas à l'étape suivante avant que le panier soit correctement limité en bas de la scène.
4. Programmer la pomme
Réduis d'abord la taille de la pomme pour qu'elle soit plus petite que le panier.
// 1. La position de départ
Quand le drapeau vert est cliqué, place la pomme tout en haut de la scène (Y fixe en haut), mais à une position X aléatoire à chaque fois.
Tu auras besoin d'un bloc Opérateurs pour choisir un nombre aléatoire entre -240 et 240 sur l'axe X.
// 2. L'attente et la chute
Après le démarrage, la pomme attend 3 secondes puis commence à tomber automatiquement en boucle (utilise une boucle "répéter indéfiniment").
Pour faire descendre un sprite, modifie sa coordonnée Y avec une valeur négative. C'est la même technique que dans le labyrinthe.
// 3. La collision avec le panier
Si la pomme touche le panier, elle doit immédiatement réapparaître en haut de la scène, à une position X aléatoire différente.
Ne programme pas encore ce qui se passe quand la pomme touche le sol. Tu le feras après avoir découvert les variables à l'étape suivante.
5. Les variables
En programmation, une variable est un conteneur qui stocke une valeur pendant l'exécution du programme. Imagine une boîte avec une étiquette : l'étiquette c'est le nom, et ce qu'il y a dedans c'est la valeur. Tu peux lire cette valeur, la modifier, ou la comparer à autre chose.
// Créer les variables
Pour ce jeu, tu vas avoir besoin de deux variables. Crée-les toutes les deux maintenant, pour tous les sprites.
Elle va compter les points du joueur. Sa valeur commence à 0 et augmente de 1 chaque fois qu'un fruit est attrapé.
Elle fonctionne comme un interrupteur à deux états : 0 = le jeu est en cours, 1 = le jeu est perdu. C'est cette valeur que le sprite "Perdu !" va surveiller en permanence.
Les variables apparaissent en haut à gauche de la scène. Tu peux désactiver leur affichage en décochant la case dans les blocs "Variables".
6. Programmer le sprite "Perdu !"
Maintenant que tu connais les variables, tu peux programmer le sprite "Perdu !". Au démarrage, il doit être caché et mettre win/lose à 0. Ensuite, il surveille en permanence la valeur de win/lose. Dès qu'elle est égale à 1, il se montre et stoppe tout le programme.
Combine un bloc "Si … alors" avec un bloc "… = …" (Opérateurs) pour vérifier si win/lose = 1. Le bloc "stop tout" se trouve dans la catégorie Contrôle.
// Retour sur la pomme — la collision avec le sol
Retourne maintenant sur le sprite de la pomme. Si elle touche le sol (détecte une couleur), elle doit mettre win/lose à 1. Le sprite "Perdu !" le détectera immédiatement et arrêtera le jeu.
7. Programmer le score
Tu as créé la variable Score à l'étape précédente. Il faut maintenant lui donner vie : sur le panier, mets le Score à 0 au démarrage. Sur la pomme, ajoute 1 au Score chaque fois qu'elle touche le panier.
8. La vitesse de chute
Le jeu doit devenir de plus en plus difficile au fil du temps. Pour ça, la pomme va tomber de plus en plus vite à mesure que le Score augmente.
// Le principe
Dans ta boucle de chute, en plus du déplacement de base, tu vas ajouter des déplacements supplémentaires conditionnels selon la valeur du Score. À chaque tour de boucle, Scratch vérifie le Score et applique une vitesse supplémentaire si la condition est vraie.
// Les paliers de vitesse
Voici les paliers à programmer sur la pomme, à l'intérieur de ta boucle "répéter indéfiniment", après le déplacement de base :
Si Score > 10 → déplace de -2 supplémentaires
Si Score > 20 → déplace de -4 supplémentaires
Si Score > 30 → déplace de -6 supplémentaires
Si Score > 40 → déplace de -8 supplémentaires
Ces conditions s'ajoutent les unes aux autres. Par exemple, avec un score de 25, les paliers >10 et >20 sont tous les deux vrais : la vitesse totale devient -3 -2 -4 = -9 par tour. Plus le score est élevé, plus ça va vite !
Utilise des blocs "Si … alors" (Contrôle) combinés avec un bloc "… > …" (Opérateurs) pour comparer le Score à chaque palier.
9. La banane
Ne commence cette étape que si les sections 3 à 7 fonctionnent correctement.
Ajoute un sprite Bananas au projet. La banane ne doit pas apparaître tout de suite — elle se cache au démarrage et n'entre en jeu que quand le Score dépasse 10.
// Comportement de la banane
Au démarrage : la banane est cachée et se place à une position X aléatoire en haut. Dans la boucle principale, elle vérifie d'abord si Score > 10 avant de se montrer et de tomber.
Elle tombe plus lentement que la pomme (vitesse de base : -1), mais elle accélère exactement de la même façon selon les mêmes paliers de score.
Si elle touche le panier → elle remonte en haut à une position X aléatoire et ajoute +1 au Score. Si elle touche le sol → mets win/lose à 1.
La logique est quasi identique à celle de la pomme. Tu peux t'en inspirer directement — le seul changement est la vitesse de base et la condition d'apparition.
10. L'insecte (coccinelle)
Ajoute un sprite Ladybug (coccinelle). Attention : celui-ci est un piège. Si le joueur l'attrape avec le panier, il perd immédiatement !
// Comportement de la coccinelle
Au démarrage : cachée, positionnée aléatoirement en haut. La coccinelle n'apparaît que quand Score > 15. Avant de tomber, elle attend un temps aléatoire entre 6 et 35 secondes — le joueur ne sait jamais quand elle va surgir !
Sa vitesse de chute est de -2 (pas d'accélération progressive pour elle).
// Les deux collisions à gérer
C'est ici que ça change par rapport aux fruits :
Si la coccinelle touche le panier, mets la variable "win/lose" à 1 (perdu). Le sprite "Perdu !" détectera ce changement et arrêtera le jeu.
Si la coccinelle touche le sol, elle ne fait pas perdre — elle se replace simplement en haut à une position X aléatoire et recommence.
Le sprite "Perdu !" surveille déjà win/lose en permanence depuis la section 6. Tu n'as rien à modifier dessus — il réagira automatiquement quand la coccinelle mettra win/lose à 1.