Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Scratch 3
  3. Jeu de tir
Extrait - Scratch 3 S'initier à la programmation, à la robotique et à l’IA par le jeu (2e édition)
Extraits du livre
Scratch 3 S'initier à la programmation, à la robotique et à l’IA par le jeu (2e édition) 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 le jeu proposé ici, 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 avant le démarrage d’un jeu.

  • Créer un jeu avec un temps limité en utilisant un 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 l’onglet Compléments 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...

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, 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 vers le haut ou vers le bas, pour tirer ainsi que pour déterminer si le joueur a été touché par un tir ennemi. Leur exécution est soumise à quatre conditions.

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

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 :

  • Des niveaux supplémentaires comportant plus d’ennemis à toucher peuvent être créés.

  • Des vitesses variables peuvent être appliquées aux déplacements des vaisseaux ennemis.

  • 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é en fin de niveau ou de partie. Il peut prendre l’aspect d’un plus gros vaisseau, comme l’Étoile 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 !