Coder un jeu de Pac Man avec Scratch - Défi 7




Dernier #defiScratch ! (pour l'année 2019)


Je vous propose d’enrichir votre projet en :
  • ajoutant du son
  • créant une manette de jeu avec la micro :bit









1.  Du son !


Je n’ai pas pour habitude de mettre du son dans mes projets. En effet, dans mes ateliers programmation je n’autorise qu’exceptionnellement mes élèves à en mettre. Faute de casques, c’est très vite la cacophonie et certains sont gênés par les différents sons qui les entourent. De plus, dans les salons makers, en raison du bruit ambiant, les éléments sonores ne sont pas perceptibles sauf si ils sont amplifiés.

L’un de mes groupes a suivi, semaine après semaine, le #defiScratch. Je n’ai pas eu besoin de leur dire de mettre du son pour qu’ils trouvent comment faire par eux même. J’ai dû mettre les hauts-là pour la tranquillité de tous.
Je vous propose néanmoins d’enrichir votre projet avec du son :
·         quand Pac Man touche l’un des murs
·         quand Pac Man est touché par un Fantôme


Scratch dispose d’une bibliothèque de sons. Pour en choisir un et l’ajouter à Pac Man :

1.    Sélectionnez l’onglet Son (1) et Choisir un son (2) pour ouvrir la bibliothèque.
2.    Choisissez un son et validez par [Entrée] ou en appuyant sur OK

Les sons disponibles sont classés par catégories. En passant la souris sur les vignettes, vous pouvez les écouter. Une fois un son sélectionné il est directement disponible dans l’onglet Sons et dans les menus déroulants des blocs Son.






Le son Boing est joué chaque fois que Pac Man touche l’un des murs du labyrinthe. Le bloc jouer le son Boeing est ajouté au sein des quatre conditions qui déterminent si Pac Man a touché l’un des murs lorsque l’une des flèches directionnelles est appuyée.




Le son Alert est joué chaque fois que Pac Man est touché par l’un des Fantômes. Le bloc jouer le son Alert est inséré dans chacune des quatre conditions utilisées pour déterminer si Pac Man a été touché par un Fantôme.




2.   Une micro :bit comme manette de jeu


Scratch 3 est pourvu d’extensions pour programmer différents périphériques dont la carte micro :bit. Développée par la BBC, la carte micro:bit est pourvue de plusieurs capteurs et d’une matrice de 25 LED.

Pour accéder aux extensions :
  1. Sélectionnez l'icône Ajouter une extension   
  2. Cliquez sur l'extension  micro:bit


Pour déplacer Pac Man avec la micro:bit, nous allons utiliser l’accéléromètre. Ainsi, lorsque la carte est inclinée :

·         vers la gauche/ left Pac Man se dirige vers la gauche
·         vers la droite/ right, Pac Man se dirige vers la droite
·         vers l’avant/ front, Pac Man se dirige vers le haut
·         vers l’arrière/ back, Pac Man se dirige vers le bas

  
Il vous faut remplacer les blocs touche () préssée ? par inclinaison ()titled () ? Ce bloc est traduit en français dans la version en ligne de Scratch











3.   Améliorer votre jeu

Pour un débutant, ce jeu est un peu complexe dans sa réalisation. Pour quelqu'un de plus expert vous pouvez, à partie de cette base, élaborer un projet plus riche. Voici quelques pistes : 


  • Au lancement du jeu, vous pouvez créer un sprite faisant office de bouton start pour lancer la partie. 


  • En vous inspirant du jeu Pac Man vous pouvez insérer des pac-gommes spéciales qui lorsqu'elles sont mangées rend, pendant un certain temps, Pac Man invincible. Voire il peut supprimer les Fantômes lorsqu'il les touche !


  • Votre jeu peut être pourvu de plusieurs niveaux. Une fois, que Pac Man a franchi la sortie, un deuxième labyrinthe est affiché. Et, ainsi de suite.


  • Jouer à plusieurs. L'un des Fantôme peut être commandé par un deuxième joueur. Pour cela vous pouvez, par exemple, utiliser les touches alphabétiques de votre clavier. Ou un manette de jeu. 


  • Dans un précédent article j'explique comment utiliser JoyToKey pour mapper des manettes de jeu et les utiliser avec vos projets Scratch.


Les idées ne manquent pas. Comme je le dis toujours "une seule limite, l'imagination !!!". N'hésitez pas à me faire part de vos suggestions afin que je puisse les partager.  


4.   Des problèmes ?


Voici quelques solutions aux principaux problèmes que vous pouvez rencontrer en élaborant ce projet.


1. Laurent Feltz @feltzl sur Twitter me faisait la remarque que pour faire du pixel art avec une valeur de pinceau à 5, le tracé carré du pinceau n'est pas exactement de la même taille que les carrés du fond.
Vous pouvez spécifier une épaisseur inférieure à 5, mais supérieure.


2.Pac Man traverse les murs ?
Augmentez l’épaisseur des murs afin que la détection soit plus facile. Vérifiez la couleur définie.


3. Pac Man sort de la scène malgré le bloc rebondir si le bord est atteint ?
Ajouter un cadre à votre labyrinthe de la même couleur que les murs.





4. Vous ne souhaitez pas que Pac Man retourne à l’entrée du labyrinthe lorsqu’il est touché par un Fantômes ?
Le bloc attendre 1 secondes est utilisé pour éviter que plus d’une vie ne soit décrémentée. 




5. Quand Pac Man est touché par un Fantôme, plus d’une vie est décrémentée ?
Augmentez la temps d’attente.


6. Le sprite sortie cache les Fantômes ?
Il faut définir sa position sur la scène et le déplacer de plusieurs plans vers l’arrière.
La valeur 5 place le sprite sortie en 5ème position, derrière les quatre Fantômes. Si votre projet comporte 5 Fantômes, positionnez votre sprite sortie en 6ème position, etc.



D'autres problèmes? n'hésitez pas à m'en faire part !



Pour vous aider :

Vous pouvez télécharger le résultat du sixième défi (Pac Man - défiScratch7.sb3) sur mon compte Scratch. Ainsi que le projet finalisé, avec les sons (Pac Man.sb3).

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man – défiScratch7

Nom du fichier : Pac Man




Le #défiScratch 2019 est terminé. Je ne vous cache pas que la réalisation de ces #defiScratch a nécessité pas mal de travail et des prises de tête avec ma connexion wifi. Mais votre enthousiasme a été ma récompense et ma motivation.

Merci à Crystobal et Kemper @DesLoustics qui ont partagé les vidéos de leurs réalisations.
J'ai eu la chance  de rencontrer certains participants au #defiScratch notamment lors de la Maker Faire de Paris. D'autres m'ont contacté via Twitter et ce fut un réel plaisir pour moi de voir que ce projet vous intéressait.

Forte de cette première expérience, je vous propose de nous retrouver en 20/20 avec un nouveau #defiScratch, notamment avec du Raspberry Pi. 

Je vous souhaite de bonnes fêtes de fin d'années. Profitez de vos familles, de vos parents, de vos enfants.









Commentaires

Enregistrer un commentaire

Posts les plus consultés de ce blog

Scratch - Dessiner dans un repère orthonormé

Fabriquer une main articulée

Scratch : les déplacements