Gardien de trésor
Dans cette page tu trouveras :
- Prépare tes sprites et ton arrière plan
- Programmer les déplacements du héros
- Faire apparaître les projectiles
- Ajouter un score
- Adapter la difficulté du jeu au joueur
Prépare tes sprites et ton arrière plan
Choix des sprites
Commence par imaginer le projet que tu souhaites réaliser :
Qui sera ton héros ?
Quel trésor devras tu récupérer ?
Quel gardien sera là pour protéger le trésor
Une fois ton idée en tête, choisis tes sprites et crée-les à l’aide de DeepAI. (Dans notre exemple, le héros est un capybara qui doit éviter des noix de coco.)
Conseil : pour le gardien, tu peux prendre un sprite de la bibliothèque Scratch, afin d’avoir des costumes assis, couché, ou debout. Cela donnera une animation lorsque le joueur va se rapprocher de lui, et quand il va le poursuivre.
Pense à donner un nom clair à chacun de tes sprites.
Cela t’aidera beaucoup à programmer plus facilement : tu sauras toujours quel sprite tu utilises et où appliquer tes blocs de code.
Par exemple, au lieu de laisser un nom par défaut, choisis des noms simples et précis comme Gardien, Trésor, Joueur.
Un sprite bien nommé, c’est un programme plus simple à comprendre et à améliorer !
Génère l’image de ton arrière plan
Il est maintenant temps de créer l’arrière-plan de ton jeu, celui que l’on verra dans la scène de ton projet Scratch.
Commence par réfléchir à l’ambiance que tu souhaites :
- Où se passe ton jeu ?
- Dans quel décor évolue ton héros ?
Une fois ton idée en tête, génère ton image d’arrière-plan avec DeepAI.
Puis, importe l’image dans la scène de Scratch en cliquant sur Importer un arrière-plan.
Programmer les déplacements du héros
Se déplacer de gauche à droite
- Tout d’abord, positionne ton héros à son point de départ. Ainsi, à chaque fois que tu lanceras le jeu avec le drapeau vert, il commencera toujours au même endroit.
- Ensuite, ajoute une boucle répéter indéfiniment. Elle permet à ton programme d’écouter en permanence les touches du clavier pendant tout le jeu.
- Puis nous allons programmer des conditions « si nous voulons aller à gauche, ou à droite » :
- Si tu appuies sur la flèche gauche, le héros se déplace vers la gauche et se tourne dans cette direction.
- Si tu appuies sur la flèche droite, il se déplace vers la droite et se tourne de l’autre côté.
Grâce à ces blocs, ton héros peut se déplacer de façon fluide et regarder dans le bon sens, ce qui rend ton jeu plus agréable à jouer.
Nous allons maintenant ajouter une dernière condition à notre programme : lorsque le héros est touché par le projectile (une noix de coco dans notre exemple).
Pour cela, nous indiquons au programme que si le héros touche le sprite du projectile, alors le jeu est perdu.
Dans ce cas, le héros affiche le message « GAME OVER ! » pendant quelques secondes, puis tous les scripts s’arrêtent.
Ainsi, le jeu se termine immédiatement lorsque le héros est touché, ce qui indique clairement au joueur qu’il a perdu
-> Tu peux ajouter des émojis dans ta phrase. Par exemple « GAME OVER ! 😵 »
Faire apparaître les projectiles
Maintenant, nous allons créer des projectiles qui apparaissent automatiquement pendant le jeu, à des moments différents, pour rendre la partie plus dynamique.
Dans le sprite du projectile :
Tout d’abord, nous allons cacher le sprite lorsque l’on clique sur le drapeau vert.
Ensuite, nous allons utiliser une boucle répéter indéfiniment pour faire apparaître des projectiles tout au long de la partie.
À chaque passage dans la boucle, le programme attend un temps aléatoire entre 1 et 3 secondes, puis crée un clone du sprite.
C’est ce clone que nous programmerons ensuite pour le faire apparaître en haut de la scène et le voir tomber.
Nous allons maintenant programmer ce qu’il se passe lorsqu’un clone est créé.
Dès qu’un clone apparaît, nous le montrons pour qu’il soit visible dans le jeu.
Ensuite, nous le plaçons en haut de la scène, à une position aléatoire de gauche à droite. Cela permet de rendre l’apparition des projectiles imprévisible.
Puis, nous faisons glisser le clone vers le bas jusqu’au sol, afin de donner l’impression qu’il tombe.
Enfin, une fois arrivé en bas de la scène, nous supprimons le clone pour éviter qu’il ne reste à l’écran et pour libérer de la place pour les suivants.
Ajouter un score
Commence par créer une variable « score »
Dans le sprite du projectile :
On va mettre la variable score à 0 lorsque le drapeau vert est cliqué, afin que chaque partie commence avec zéro point.
Puis, lorsque l’on commence comme un clone, on ajoute 1 à la variable score à chaque fois qu’un projectile est tombé.
Si tu te rappelles bien, lorsque un projectile entre en contact avec notre héros, nous avons programmé l’arrêt de tous les scripts. Du coup, les projectiles ne tomberont plus et le score n’augmentera plus !
Adapter la difficulté du jeu au joueur
Dans ce jeu, l’ordinateur observe ce que fait le joueur. Il regarde combien de projectiles tu arrives à éviter sans te faire toucher. Et là, il ne se contente pas de suivre une règle fixe : il s’adapte à toi !
- Quand tu deviens fort :
- tu gagnes des points
- et l’ordinateur rend le jeu plus difficile en faisant tomber les projectiles de plus en plus vite
- Quand tu es moins fort :
- La vitesse augmente moins vite et le jeu reste jouable
C’est exactement ça, le principe d’une IA adaptative simple : observer 👉 décider 👉 agir 👉 s’adapter
C’est parti ! Commence par créer une variable « vitesse »
Dans le sprite du projectile :
Nous commençons le jeu avec une vitesse réglée à 3.
C’est une vitesse assez lente, idéale pour prendre le jeu en main.
Essaie de lancer le jeu : tu verras que les projectiles tombent doucement, ce qui te laisse le temps de réagir et d’apprendre à jouer.
À la place du bloc encadré en rouge, nous allons utiliser une répétition :
L’idée est simple : au lieu de déplacer le projectile d’un coup, on va ajouter la vitesse petit à petit.
- répéter XX fois une action
- qui consiste à ajouter la valeur de la variable vitesse à la position verticale (y), qui détermine le sens quand il tombe
On va faire une règle qui augmente la vitesse à chaque fois que le joueur gagne 5 points de plus dans son score.
- Le bloc : mettre vitesse à 3 + (score ÷ 5) veut dire :
- on part toujours d’une vitesse de base = 3
- puis tous les 5 points, la vitesse augmente de 1
- Exemples :
- score = 0 -> vitesse = 3
- score = 5 -> vitesse = 4
- score = 10 -> vitesse = 5
- score = 15 -> vitesse = 6
Teste et amuse toi à changer cette vitesse pour voir comment elle agit sur le jeu et choisir la difficulté qui te plaît !
