Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Scratch 3
  3. Jeu de tir
Extrait - Scratch 3 S'initier à la programmation et à la robotique par le jeu
Extraits du livre
Scratch 3 S'initier à la programmation et à la robotique par le jeu
2 avis
Revenir à la page d'achat du livre

Jeu de tir

Introduction

Les jeux de tir sont parmi les jeux les plus répandus. Ils simulent des combats qui peuvent être plus ou moins violents et réalistes. Rien de tel avec ce jeu qui s’inspire des premiers jeux de combats spatiaux.

Objectif : ce jeu consiste à tirer sur des vaisseaux spatiaux ennemis. Si le vaisseau du joueur est touché, il perd des vies et s’il touche des vaisseaux ennemis il marque des points. La partie se termine si le joueur n’a plus de vies, ou si le temps imparti est terminé.

Compétences développées :

  • Insérer un compte à rebours en préambule au démarrage d’un jeu.

  • Créer un jeu avec un temps limité en utilisant le chronomètre.

  • Faire défiler horizontalement des "cibles" sur la scène.

  • Gérer des vies et gérer des scores.

  • Créer une ambiance sonore dans un jeu.

Dans le chapitre L’extension micro:bit, un autre jeu de tir est développé. Il aborde d’autres techniques qui peuvent être complémentaires.

Le graphisme

Ce projet disponible en téléchargement depuis la page Informations générales a pour nom Space war.sb3.

1. Les arrière-plans

Ce projet nécessite la création de trois arrière-plans ayant pour noms : Jeu - Gagné - Game Over. Les trois arrière-plans utilisent l’image Stars issue de la bibliothèque. Sur les arrière-plans Gagné et Game Over des informations ont été inscrites.

 Dans la fenêtre des arrière-plans, sélectionnez Choisir un arrière-plan (1). Et choisissez Stars (2) dans la bibliothèque qui s’est ouverte.

 Cliquez sur l’onglet Arrière-plans (3) et faites un clic droit sur la vignette Stars. Sélectionnez dupliquer (4). Une deuxième vignette a été créée.

images/11FI01.png

 Faites la même chose pour créer un troisième arrière-plan identique.

Nommez le premier arrière-plan Jeu. Il sera utilisé comme décor pendant la phase de Jeu, mais également lors du compte à rebours initial.

Nommez le deuxième arrière-plan Gagné. Il s’affichera lorsque le temps de jeu, mesuré avec un chronomètre, sera terminé.

Nommez le troisième arrière-plan Game Over. Si le joueur n’a plus de vies, il a perdu la partie et cet arrière-plan s’affiche.

images/11FI02.PNG

Sur les arrière-plans Gagné et Game Over, des informations différentes sont inscrites avec l’outil Texte.

 Par défaut, l’arrière-plan Stars est au format...

Le programme des arrière-plans

Ce jeu nécessite la création et l’utilisation de deux variables.

  • La variable Score joueur : pour stocker le nombre de vaisseaux touchés par le joueur.

  • La variable Vies joueur : pour gérer le nombre de vies dont dispose le joueur. Lorsqu’il est touché par un tir ennemi, il perd une vie.

Le programme des arrière-plans est constitué de quatre piles de blocs. Elles servent à :

  • Initialiser les variables utilisées dans le jeu.

  • Jouer en permanence une boucle sonore.

  • Déterminer si le joueur a perdu.

  • Gérer le chronomètre et déterminer si le temps imparti est terminé.

 quand drapeau vert est cliqué

 basculer sur l’arrière-plan Jeu // cet arrière-plan est utilisé en introduction (pendant le compte à rebours) et pendant la phase de jeu.

 mettre Score joueur à 0 // le compteur de points est réinitialisé.

 mettre Vies joueur à 3 // le joueur dispose de trois vies. Cela signifie qu’il ne doit pas être touché plus de trois fois par un tir ennemi.

 cacher la variable Score joueur // elle n’est visible qu’à la fin de la partie si le joueur n’a pas perdu.

 quand drapeau vert est cliqué // cette double instruction permet d’exécuter deux programmes en simultané....

Les programmes des sprites

1. Programme de Compte à rebours

Au démarrage du jeu, un compte à rebours, sous la forme d’un sprite, s’affiche à l’écran. Le jeu ne commence qu’à la fin de l’exécution de son programme.

 quand drapeau vert est cliqué

 basculer sur le costume costume 1 // ce costume correspond au chiffre 3.

 montrer

 répéter 2 fois // ouverture d’une boucle de répétition. Deux autres costumes vont se succéder sur la scène.

 attendre 1 secondes

 costume suivant // ce programme fonctionne si l’ordre des costumes est bien respecté.

 Fermeture de la boucle de répétition.

 attendre 1 secondes

 cacher

 envoyer à tous Jouer // ce message est utilisé pour lancer l’exécution des scripts des différents sprites du jeu.

 envoyer à tous Chronomètre // ce message permet de démarrer le chronomètre. Le temps d’une partie est limité.

images/11FI18.PNG

2. Programme de Joueur

Le programme du sprite Joueur est composé de quatre piles de blocs.

Première pile de blocs

Il s’agit de la pile servant à paramétrer les caractéristiques du sprite.

 quand drapeau vert est cliqué

 s’orienter en direction de 180 // le vaisseau ayant été dessiné verticalement il faut le positionnement horizontalement pour qu’il fasse face aux vaisseaux ennemis.

 aller à x: -180 y: 0

 mettre la taille à 80% de la taille initiale // cette valeur est donnée à titre indicatif, tout dépend de vos sprites.

 basculer le costume costume 1 // il s’agit du costume qui ne figure pas le vaisseau en train de tirer.

 cacher // la partie n’ayant pas encore commencé, aucun élément du jeu n’est visible.

Deuxième pile de blocs

Cette pile de blocs contient les différents algorithmes utilisés pour déplacer le vaisseau du joueur, pour tirer sous la forme de conditions, ainsi que pour déterminer si le joueur a été touché par un tir ennemi.

 quand je reçois Jouer // ce message déclenche le jeu et synchronise l’exécution de tous les scripts.

 montrer // le vaisseau du joueur...

Conclusion

Ce jeu minimaliste dans sa structure reste tout de même un jeu prenant par l’ajout d’une bande-son. En effet, tout comme dans les films, les bandes musicales ont un impact sur l’état psychologique du joueur. Elles servent à ambiancer.

Ce jeu peut être amélioré de différentes manières :

  • En créant des niveaux supplémentaires comportant plus d’ennemis à toucher.

  • En ajoutant des vitesses variables sur les vitesses de déplacement des vaisseaux ennemis et/ou des projectiles.

  • Les vaisseaux ennemis peuvent changer d’apparence au fur et à mesure qu’ils sont touchés. Dans ce cas, une variable gère le nombre d’impacts et un costume différent est associé à chaque valeur.

  • Un boss de fin, c’est-à-dire un ennemi plus puissant peut être ajouté un fin de niveau ou de partie. Il peut prendre l’aspect d’un plus gras vaisseau comme l’Etoile de la mort, si vous souhaitez conserver une thématique s’inspirant de Star Wars.

  • Plusieurs types de projectiles peuvent être mis à disposition du joueur en nombre limité.

Les développements sont infinis !