Interaction entre lutins - (6/8) Coder un jeu sur Scratch

3 minutes pour coder - Coder un jeu sur Scratch

Chargement de la playlist en cours...

Publié le - Mis à jour le 08-11-2017

Comment améliorer le scénario d'un jeu pour le rendre encore plus palpitant ?

Pour l’instant, le but de notre jeu est d’éviter les astéroïdes qui nous tombent dessus. Mais se serait amusant de pouvoir tirer sur les astéroïdes avec notre fusée, non ? Et comme c’est notre propre jeu vidéo, tout est possible, il suffit de le coder !

Je vais commencer par cliquer sur nouveau lutin, je choisis une image. J’aimerai avoir une petite boule jaune que je vais réduire de taille, comme on avait fait avec la fusée. Maintenant, ce que je veux c’est que « SI” j’appuie sur espace “ALORS » une petite boule jaune part de ma fusée et se dirige rapidement vers le haut.

Tu as peut être remarqué quelque chose ?!

« SI et ALORS ». On a déjà utilisé ce bloc là, plein de fois !  Je vais le glisser ici dans l’espace de codage de la boule jaune. Ensuite je vais chercher un bloc qu’on a déjà utilisé aussi dans  les blocs de capteurs : « Touche espace pressée » Je le glisse là.

Maintenant l’ordinateur va regarder si la touche “espace” est pressée, il reste à lui dire quoi faire quand c’est le cas.

On veut que la boule parte de la fusée. Le problème, c’est que la fusée bouge. Donc il faut que l’on trouve un moyen pour que la boule apparaisse là où la fusée se trouve. On va aller chercher dans nos blocs de mouvement en bleu un bloc qui s'appelle « Aller à x et y ».

Si on met un chiffre précis, la boule va apparaître tout le temps au même endroit. Nous on veut qu’elle apparaisse là où est la fusée. On va aller chercher un bloc capteur en bleu clair. Qui s'appelle « Abscisse x de boule » et on va le glisser dans les deux trous de notre bloc de mouvement. Puis les modifier pour avoir. « Abscisse X de Fusée » ici et « Ordonnée Y de Fusée » là.

Quand on lit notre code, on obtient : Si espace est appuyé le code regarde où se situe la fusée sur les lignes X et Y pour faire apparaître la boule exactement au même endroit. Compris ?

Comme d'habitude, on veut que ce code soit actif quand on appuie sur le bouton du drapeau vert et qu’il se répète à chaque fois qu’on appuie sur espace. Donc tu peux ajouter les mêmes blocs que d’habitude : le drapeau vert et le répéter indéfiniment. Teste et dis-moi si cela fonctionne.

Maintenant on veut aussi que la boule se dirige vers le haut pour toucher les astéroïdes. Il faut que la boule jaune avance sur la ligne Y qui va de bas en haut. Pour faire ça tu peux ajouter un bloc bleu de mouvement. « Ajouter 10 à Y ».Cette fois-ci, le but c’est que ça se répète mais pas tout le temps. Une fois que la boule touche le bord de l’écran il faut qu’elle disparaisse. Pour faire ça je vais commencer par trouver le bloc jaune de contrôle « répéter jusqu’à […]” ». Ensuite il faut que cette boucle s’arrête quand la boule touche le bord. Donc je vais trouver le bloc capteur en bleu clair « Pointeur de souris touché ?» pour venir le glisser ici puis cliquer sur la petite flèche pour indiquer « Bord touché ? »

Maintenant tu peux tester ce que ça donne en appuyant sur le drapeau vert.

Notre boule jaune fonctionne plutôt bien mais il y un petit problème. Elle reste en haut de l’écran. Alors je vais ajouter un bloc d'apparence violet. « Caché à la fin de mon code ». Par contre, si je lui demande de se cacher à un moment il faut bien que je pense à lui demander d'apparaître à un autre. Alors je vais faire glisser le bloc « montrer » qui va se déclencher dès que la barre espace est pressée.

Pour résumer ce qu’il se passe dans ce code : si la touche espace est appuyée une boule jaune apparaît exactement là où est la fusée, elle se déplace vers le haut jusqu’à ce qu’elle touche le bord puis disparaît.

On veut aussi que notre boule jaune puisse détruire un astéroïde en le touchant, sinon ça ne sert pas à grand-chose. Pour faire ça je vais retourner dans le code de mon astéroide en cliquant dessus. Ce que l’on veut c’est que “SI” un astéroïde est touché par une boule jaune “ALORS” il disparaît. Je vais commencer par prendre mon bloc « SI… Alors… » et je vais glisser un  bloc de capteur en bleu clair [Boule Jaune] « touché ? »

Maintenant on décide de ce qui se passe dans ce cas. Nous on veut que l'astéroïde disparaisse.

Le plus simple c’est d’aller chercher un bloc violet apparence, et on va glisser le bloc « cacher ici ».  Donc maintenant si une boule jaune touche un astéroïde alors il disparaît. On veut que ça se passe tout le temps et que ça se déclenche quand on appuie sur le drapeau vert donc il faut rajouter les blocs qui correspondent. Une fois que c’est fait, tu peux tester ce code.

On commence à avoir un jeu vraiment intéressant je trouve ! Il reste deux choses à faire pour le rendre encore mieux. Ajouter un score pour que tu puisses voir qui de tes amis sera le plus fort à ton jeu et régler la difficulté.

Mais ça, ce sera dans les vidéos suivantes.

Si ta fusée peut tirer des boules jaunes alors on passe à la suite !

C’était Micode, Salut ! 

Réalisateur : Valentin Levelli

Producteur : Coyote Conseil

Auteur : Arnaud Gantier et MICODE

Diffusion : 2017