Gardien du trésor
Dans cette page tu trouveras :
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 petit blob volant, qui doit récupérer un petit cadeau bleu.)
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 avec les flèches
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
- Si nous voulons aller à droite
- Si nous voulons aller en haut
- Si nous voulons aller en bas
Arrêter le joueur quand la partie est finie
Nous allons maintenant ajouter une dernière condition à notre programme.
Quand on clique sur le drapeau vert, on initialise la variable jeu_fini à 0. Cela signifie que la partie commence. Ensuite, lorsque la variable jeu_fini passe à 1, cela veut dire que la partie est terminée. Dans ce cas, on arrête le script.
Étapes à suivre :
- Crée la variable jeu_fini
- Initialise la à 0 lorsque le drapeau vert est cliqué
- Ajoute une condition : si jeu_fini = 1, alors on arrête le script
Programmer le gardien (l’ennemi)
Maintenant, nous allons programmer le comportement du gardien.
Son rôle est de surveiller le trésor et de réagir à la présence du joueur.
Selon la distance entre le joueur et le trésor, le gardien peut adopter trois comportements différents (suivant les costumes du sprite que tu auras choisi :
- Il reste couché lorsqu’il ne se passe rien autour de lui.
- Il se redresse et observe lorsque le joueur s’approche.
- Il se met à poursuivre le joueur si celui-ci s’approche trop près du trésor !
Le joueur devra donc être rapide et discret pour réussir à atteindre le trésor sans se faire attraper !
Position et apparence
On fixe le sens de rotation pour éviter que le gardien tourne dans tous les sens lorsqu’il se déplace vers le joueur. Il restera toujours dans la bonne orientation.
Dans le sprite Gardien, au clic sur le drapeau vert :
- fixer le sens de rotation : ne tourne pas
- aller à x: 110 y: 47
- s’orienter à 90
- basculer sur le costume panther-c
Animation du gardien
Lorsque le joueur s’approche du trésor, le gardien commence à réagir à sa présence. Pour montrer qu’il est sur ses gardes, nous allons changer son apparence : par exemple, il peut passer de la position couchée à une position assise.
Dans une boucle infinie :
- Si la distance avec le joueur est :
- entre 120 et 180
- alors :
- basculer sur le costume panther-b
Le gardien poursuit le joueur
On utilise toujours la distance pour que le gardien commence à poursuivre le joueur seulement lorsqu’il s’approche trop près du trésor.
Toujours dans la boucle répéter indéfiniment.
- Si la distance avec le Joueur est inférieure à 120 :
- s’orienter vers Joueur
- avancer de 3 pas
Ainsi, le gardien poursuit le joueur lorsqu’il est proche.
Le gardien attrape le joueur
Si le gardien touche le joueur, cela signifie qu’il l’a attrapé : la partie est alors terminée.
Ajoute :
- si il touche le Joueur
- alors :
- mettre jeu_fini à 1
- dire « Je t’ai attrapé ! » pendant 2 secondes
- stop tout (le joueur perd la partie)
Programmer le trésor
Position du trésor
Dans le sprite Trésor :
- quand drapeau vert cliqué
- aller à x: 159 y: 99
Gagner la partie
Si le joueur touche le trésor, cela signifie qu’il a réussi sa mission : il gagne la partie.
Ajouter une boucle « répéter indéfiniment » :
- si touche Joueur alors :
- mettre jeu_fini à 1
- dire « ARRRGH Le trésor est à toi ! » pendant 2 secondes
- stop autres scripts dans sprite
