Jeu de labyrinthe
Introduction
Les jeux de labyrinthe sont des jeux au sein desquels les personnages doivent se déplacer en évitant des obstacles. L’un des jeux les plus célèbres dans cette catégorie est Pac-Man.
Les jeux de labyrinthe sont généralement constitués de plusieurs niveaux de plus en plus difficiles :
-
Les motifs sont de plus en plus complexes.
-
Les déplacements peuvent être de plus en plus rapides.
-
Les obstacles sont éventuellement de plus en plus nombreux.
-
Le labyrinthe doit être traversé en un temps limité.
-
Le niveau final est pourvu d’un monstre à tuer.
Le labyrinthe est le premier projet que j’utilise dans le cadre de mes ateliers et formations (même avec les adultes) pour faire découvrir la programmation avec Scratch. Ce type de projet permet d’aborder :
-
Les déplacements.
-
Les interactions entre les différents sprites.
-
L’utilisation des messages.
-
La gestion des variables et des listes.
Le graphisme
Avant de commencer la création d’un projet sur le thème du labyrinthe, il est important de le dessiner. Graphiquement, il existe plusieurs types de labyrinthes.
Le fond du labyrinthe peut être généré grâce à des générateurs gratuits de labyrinthes (Maze) disponibles sur Internet.
Une fois le labyrinthe dessiné, il vous faut placer :
-
l’entrée et la sortie ;
-
les portes secrètes ;
-
les gardiens ;
-
les éléments à attraper ou à éviter.
Tous ces éléments vont être dessinés comme des sprites à part entière. Notamment les portes qui s’ouvrent lorsque le joueur attrape par exemple une clef. Si cette porte était dessinée directement sur le labyrinthe, c’est-à-dire sur l’arrière-plan, elle ne pourrait être programmée indépendamment de celui-ci. Si elle était amenée à disparaître à la suite d’une certaine action pour permettre au joueur de passer, c’est tout l’arrière-plan qui disparaîtrait avec elle !
L’exemple suivant permet de découvrir les principaux éléments qui constituent un programme de labyrinthe. Et de voir comment ils s’agencent entre eux.
Ce projet disponible en téléchargement depuis...
Les programmes
Nous allons nous intéresser dans un premier temps au programme du labyrinthe. Dans un deuxième temps, nous ajouterons une animation en introduction du jeu.
Dans le cadre d’une découverte de Scratch, j’utilise généralement le labyrinthe comme premier exercice. Dans un premier temps, les participants découvrent comment déplacer le sprite joué à l’aide des touches directionnelles. Comment éviter qu’il ne traverse les murs ?
Puis les gardiens sont ajoutés. Ceux-ci se déplacent d’une manière régulière en fonction d’un algorithme défini qui se répète. Lorsque le joueur touche l’un des gardiens, il peut retourner à l’entrée, mais également perdre une vie. Cette dernière option permet d’aborder les variables.
Pour terminer, la clef utilisée pour ouvrir la porte est positionnée. Son programme fait appel à l’utilisation de messages et, en fonction du niveau des participants, peut nécessiter l’utilisation d’une liste.
1. Programme de Joueur
Les déplacements
Le joueur est déplacé à l’aide des flèches directionnelles [Flèche gauche], [Flèche droite], [Flèche haut] et [Flèche bas]. Les quatre piles de blocs sont construites de la même manière :
-
Action : la touche utilisée pour déclencher l’action est spécifiée.
-
Réaction : orientation du sprite.
-
Suite d’instructions : une boucle de répétition qui contient l’algorithme pour animer les costumes du sprite et le déplacer.
quand la touche flèche gauche est pressée // action.
-
ou [Flèche droite]
-
ou [Flèche haut]
-
ou [Flèche bas]
s’orienter en direction de 0 // réaction.
-
ou 180 pour [Flèche droite]
-
ou 0 pour [Flèche haut]
-
ou -180 pour [Flèche bas]
répéter 4 fois // ouverture d’une boucle de répétition pour faire avancer le joueur et modifier ses costumes. Il possède quatre costumes différents. Suite d’instructions.
avancer de 4 pas // la valeur peut être modifiée en fonction de votre personnage et de la taille du labyrinthe....
Une animation en introduction
En introduction des jeux vidéo, on retrouve généralement une page de présentation exposant les règles du jeu. Certains jeux, comme par exemple Mario Bross, sont également pourvus d’une petite animation en guise d’introduction. Je vous propose d’en créer une en introduction du labyrinthe.
S’agissant d’une animation, les déplacements du personnage sont préprogrammés. Lorsqu’il arrive au niveau du rocher, une porte qui était jusqu’alors cachée s’ouvre sur l’entrée du labyrinthe. Le joueur pénètre à l’intérieur et la porte se referme ! Le jeu peut alors commencer.
1. Le graphisme
Pour l’arrière-plan de l’animation, nous allons utiliser le décor Blue Sky situé dans la bibliothèque des arrière-plans. Il va être renommé introduction.
En ce qui concerne les sprites, deux nouveaux éléments ont été créés. Le premier a été dessiné avec la palette graphique. Il a pour nom Rocher.
Le deuxième correspond à une copie de la partie du rocher qui correspond à l’entrée de la grotte. Il a pour nom Porte entrée labyrinthe.
Avec les outils Sélectionner et Copier, faites une copie de l’intégralité de l’image du sprite Rocher.
Dans la fenêtre des sprites, sélectionnez Choisir un sprite - Peindre. La palette graphique s’ouvre. Copiez le dessin sur la toile.
Dégroupez les différents éléments pour supprimer le rocher et ne conserver que l’ouverture.
Agrandissez la taille de la porte de manière à ce qu’elle soit plus grande que l’entrée de la grotte présente sur le sprite Rocher. Et colorez-la avec l’outil Remplissage de la même couleur que le rocher afin qu’elle ne soit pas visible.
2. Le son
Pour cette animation, nous allons insérer un bruitage lorsque la porte d’entrée s’ouvre et se referme.
Dans la fenêtre des sprites, sélectionnez la vignette Porte entrée...
Conclusion
Mêlant à la fois animation et jeu, ce projet vous a permis de découvrir différents blocs et éléments de programmation : les instructions, les conditions, les boucles, les messages, et même les listes. Ce projet est une première base. C’est à vous maintenant de vous l’approprier et de l’enrichir. Voici quelques pistes :
-
Ajouter un chronomètre pour limiter le temps imparti au joueur pour traverser le labyrinthe.
-
Créer plusieurs niveaux. Ils peuvent prendre la forme d’un labyrinthe ou d’un autre type de jeu (plateforme, tir, énigme, etc.).
-
Insérer différents objets à récupérer pour transformer ce jeu en quête. Des énigmes peuvent être proposées pour acquérir ces objets.