0% ont trouvé ce document utile (0 vote)
346 vues53 pages

Défi Scratch : Créer un jeu Pac Man

Transféré par

Aila Carat
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
346 vues53 pages

Défi Scratch : Créer un jeu Pac Man

Transféré par

Aila Carat
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

#défiScratch – 6 novembre 2019

[Link]

Le premier #défiScratch1 est arrivé !

Je vous propose, pendant 7 semaines (jusqu’aux vacances de Noël), de réaliser un jeu de


type labyrinthe qui s’inspire de la célèbre petite boule jaune, Pac Man.

Le labyrinthe est le premier projet que je propose à mes élèves. Mais également aux adultes
que je forme à Scratch. Ce type de jeu permet de découvrir la palette graphique, différents
types de déplacements. D’apprendre à élaborer des instructions et des interactions entre les
sprites. Ainsi qu’à élaborer des tableaux, comptabiliser les points/ les vies. Je vous propose
de découvrir tout cela en sept semaines.

Pendant les différentes phases du


#défiScratch vous allez utiliser pour créer
votre jeu :

 Les blocs Mouvement – pour les


déplacements.
 Les blocs Apparence – pour animer
les sprites.
 Les blocs Son – pour donner plus de
vie au jeu.
 Les blocs Evénements – pour les
messages.
 Les blocs Contrôle – pour les
boucles et des conditions.
 Les blocs Capteurs – pour créer des
interactions.
 Les blocs Opérateurs – pour créer
de l’aléatoire et définir la fin de
partie.
 Les blocs Variables – pour
comptabiliser les Points/ les Vies.

Sarah LACAZE
#défiScratch – 6 novembre 2019
[Link]

1. Dessinez un sprite Pac Man en pixels


J’aime le retro gaming.

Je vous propose de dessiner avec la Palette graphique vos différents sprites, c’est-à-dire
Pac Man et les fantômes, à la manière du pixel art. Le pixel art consiste à juxtaposer des
carrés côte à côte pour dessiner. Cette technique est utilisée pour les créer des jeux car les
images étaient pixélisées en raison de la faible résolution des écrans.

Pour créer un nouveau sprite avec la


Palette graphique sélectionnez :

1. Choisir un sprite
2. Peindre

1.1. Premier costume

Ce sprite possédera deux costumes.

Pour dessiner en pixel, c’est-à-dire en juxtaposant des carrés côte à côte, vous devez
basculer la palette graphique, qui s’ouvre par défaut en mode Vectoriel, en mode Bitmap.

1. Cliquez sur Convertir en bitmap.

Sarah LACAZE
#défiScratch – 6 novembre 2019
[Link]
2. Zoomez pour agrandir la toile.
3. Utilisez l’outil Pinceau.
4. Définissez la Taille du pinceau à 5 de manière à pouvoir dessiner des carrés.
5. Sélectionnez la Couleur de votre choix.

Il ne vous reste plus qu’à dessiner le contour de votre Pac Man en vous inspirant du modèle
ci-dessous.

Sarah LACAZE
#défiScratch – 6 novembre 2019
[Link]

Une fois le contour effectué, vous pouvez procéder au remplissage. Et ajouter :

1. Un œil
2. Un pixel à l’avant du Pac Man. Il servira de capteur pour faciliter les interactions avec
les autres éléments du jeu.

Si vous avez débordé, que vous souhaitez modifier votre dessin, il


suffit de sélectionner remplissage vide. Et appliquez le pinceau là
où vous souhaitez apporter des corrections pour effacer.

Sarah LACAZE
#défiScratch – 6 novembre 2019
[Link]

1.2. Deuxième costume

Dans le jeu, lorsque Pac Man se déplace il ouvre et ferme la bouche pour gober.

Pour élaborer le deuxième costume nous allons partir du premier costume, en le dupliquant,
et le compléter.

1. Faites un clic droit sur la vignette représentant le premier costume et sélectionnez


dupliquer
2. Compléter le Pac Man de manière à obtenir une boule complète.
3. Le sprite Pac Man dispose désormais de deux costumes.

Pour terminer, il vous faut :

1. Supprimer le sprite du chat présent dans la fenêtre des sprites soit en cliquant sur la
croix soit en faisant en clique droit et en sélectionnant supprimer.

Sarah LACAZE
#défiScratch – 6 novembre 2019
[Link]

2. Renommer le sprite 2 en Pac Man.

2. Dessinez des Fantômes


#défiScratch1 - Dessinez les fantômes en utilisant la même technique que pour Pac Man.

Une fois votre premier fantôme dessiné avec ses deux costumes. Vous
pouvez le dupliquer.

1. Faites un clic droit sur la vignette de votre fantôme dans la Fenêtre des sprites.
2. Sélectionnez dupliquer.
3. Il vous suffit juste de modifier la couleur avec l’outil Remplissage.

Pour vous aider :

Vous pouvez télécharger la première étape du jeu, comportant le Pac Man, sur mon compte
Scratch. Et y incorporer directement vos propres fantômes.

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man - défiScratch1

Lien : [Link]

Sarah LACAZE
#defiScratch2 – 13 novembre 2019

Pour ce deuxième défi, #defiScratch2 nous allons


voir comment dessiner le labyrinthe au sein duquel
évoluent Pac Man et les Fantômes. Et élaborer les
premières instructions pour animer les costumes
des différents sprites.

Vous n’avez pas réussi, vous n’avez pas eu le


temps de dessiner vos fantômes ?
Vous pouvez télécharger sur mon compte
Scratch le fichier Pac man – défiScratch2.

1. Dessinez un labyrinthe

Le labyrinthe n'est pas un sprite mais un arrière-plan. Il est dessiné avec la Palette
graphique. Il consiste en un fond noir et des lignes bleues, qui représentent les murs.

1. Sélectionnez la Fenêtre des arrière-plans.


2. Cliquez sur l’onglet Arrière-plans pour accéder à la Palette graphique.

3. Avec l'outil Rectangle (3) dessinez un rectangle noir (4) faisant toute la taille de la toile.

LACAZE Sarah
#defiScratch2 – 13 novembre 2019

5. Avec l'outil Ligne (5) tracez les murs en bleu (6). Sélectionnez une épaisseur
importante (7) afin que les murs puissent être détectés par les sprites.

Pour obtenir des lignes parfaitement droites, maintenez la touche


[SHIFT] enfoncée lors du tracé.

LACAZE Sarah
#defiScratch2 – 13 novembre 2019

Vous pouvez dessiner le labyrinthe de votre choix. Pour le moment ne vous souciez pas de la
taille des sprites qui sont fort probablement trop grands pour se faufiler entre les murs. Vous
pourrez adapter la taille avec le bloc :

Un jeu commence par une page de présentation (titre du jeu, consignes etc.) et se termine
par un tableau de fin pour signifier que la partie est gagnée ou perdue.

En plus de l’arrière-plan représentant le labyrinthe, créez trois


autres arrière-plans. Renommez-les (8) :

 Le labyrinthe qui a pour nom arrière-plan1 = Jeu.

LACAZE Sarah
#defiScratch2 – 13 novembre 2019

 Le premier tableau = Présentation.


 Le tableau de fin lorsque le joueur a Gagné = Gagné.
 Le tableau de fin lorsque le joueur a Perdu = Perdu.

2. Animer les sprites


Les cinq sprites disposent de deux costumes (ou plus) qui s'enchainent pour les animer. Je
vous propose de créer une instruction pour animer les sprites, et ce même lorsqu’ils ne sont
pas en mouvement.

Le programme consiste à insérer dans une boucle de répétition (répéter indéfiniment) une
instruction pour alterner les costumes (costume suivant) en incorporant, entre chaque
changement, un temps d'attente (attendre () secondes).

Créez pour chaque fantôme une instruction pour les animer.

Testez le rendu en modifiant les temps d’attente.

LACAZE Sarah
#defiScratch2 – 13 novembre 2019

Pour vous aider :

Vous pouvez télécharger le résultat du premier défi sur mon compte Scratch et y ajouter
directement votre propre Labyrinthe et autres tableaux.

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man – défiScratch2

Lien : [Link]

Si vous souhaitez recupérer seulement un Fantôme, ou le Pac Man,


pour l’utiliser dans votre propre projet, rien de plus simple.

1. Dans la Fenêtre des sprites faites un clic droit sur la vignette du sprite que vous
souhaitez récupérer.
2. Sélectionnez exporter.
3. Une fenêtre d’enregistrement s’ouvre.

4. Pour incorporer le sprite dans votre projet : sélectionnez Importer un sprite.

LACAZE Sarah
#defiScratch2 – 13 novembre 2019

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

Troisième semaine, troisième défi.


Vous disposez désormais de
presque tous les éléments
graphiques de votre jeu :
 Le joueur Pac Man
 Les Fantômes
 Les tableaux
Il manque les « billes » à manger.

Vous pouvez retrouver tous ces éléments dans le projet Pac Man – défiScratch3 disponible
sur mon compte Scratch.

Cette semaine nous allons nous intéresser plus particulièrement à l’affichage des différents
arrière-plans en fonction des phases du jeu. Et à l’initialisation du joueur, Pac Man.

1. Les arrière-plans
Ce projet dispose de quatre arrière-plans. Ils s’affichent en fonction des phases de jeu grâce
au bloc basculer sur l’arrière-plan () et à l’envoi/ réception de messages.

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

Les messages sont utilisés pour déclencher des actions qui peuvent être communes à des
sprites et des arrière-plans. Lorsqu'un message est envoyé seuls les sprites et arrière-plans
disposant du bloc de réception seront impactés.

1. L’arrière-plan présentation : s’affiche au lancement du programme. Il présente les


règles du jeu.

2. L’arrière-plan jeu : correspond au labyrinthe dans lequel doit évoluer le joueur.


Lorsqu’il s’affiche un message est envoyé pour signifier aux éléments du jeu qu’ils
peuvent entrer en scène.

3. L’arrière-plan perdu : il s’affiche lorsque le joueur ne dispose plus de vies.

4. L’arrière-plan gagné : il s’affiche lorsque le joueur a mangé toutes les billes (nous ne
les avons pas encore créées) et a atteint la sortie du labyrinthe sans perdre toutes
ses vies.

Pour élaborer le programme dédié aux arrière-plans veillez à bien avoir sélectionné la scène,
puis ouvrez l’onglet Code.

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

Pour définir le nom du message :

[Link] le menu déroulant du bloc envoyer à tous () ou du bloc quand


je reçois () sélectionnez Nouveau message.
1. Une fenêtre vous permettant de renseigner le nom du message s’ouvre.
2. Validez en cliquant sur Ok.

Donnez toujours des noms explicites aux messages que vous utilisez !

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

quand drapeau vert est cliqué // cette action lance l’exécution du programme.

basculer sur l’arrière-plan présentation // l’arrière-plan présentant les règles du jeu


s’affiche

attendre 5 secondes // il s’affiche pendant 5 secondes.

envoyer à tous jeu // ce message est envoyé pour lancer la partie. Il est réceptionné par
Pac Man et les Fantômes qui deviennent alors visibles sur la scène.

basculer sur l’arrière-plan jeu // l’arrière-plan est modifié. Le labyrinthe s’affiche.

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

Complétez le programme des arrière-plans avec deux programmes :


1. Quand le message « perdu » est reçu, l’arrière-plan bascule
sur l’arrière-plan perdu.
2. Quand le message « gagné » est reçu, l’arrière-plan
bascule sur l’arrière-plan gagné.

2. Pac Man
Lors du #defiScratch2 nous avions commencé à élaborer le programme de Pac Man. Nous
allons à le compléter en initialisant différents paramètres.

L’initialisation est une opération préliminaire au démarrage d’un programme. Elle consiste à
fixer certains paramètres (positions, nombre de vies, apparence etc.) de manière à ce que les
sprites disposent des mêmes caractéristiques à chaque redémarrage.

Le programme commence par une initialisation :

 Le sprite est invisible lorsque le programme commence car il commence par le


tableau de présentation.
 La taille du sprite est adaptée de manière à ce qu’il puisse passer entre les murs.
 La position du sprite au démarrage du jeu et son orientation.
 Le nombre de vies dont dispose le joueur.

Les vies sont gérées par une variable. Une variable sert à stocker des informations
modifiables au fur et à mesure de l’exécution du programme.

Pour créer une variable :

1. Dans la catégorie Variables sélectionnez Créer une variable.

2. Dans la fenêtre qui s’ouvre, renseignez le nom de la variable et


validez sur Ok. Nommez vos variables avec des noms explicites.

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

cacher // au démarrage du programme c’est-à-dire lorsque l’arrière-plan présentation


s’affiche, ce sprite n’est pas visible sur la scène.

mettre la taille à 50% de la taille initiale // la valeur dépend de votre sprite et de votre
labyrinthe.

s’orienter en direction de 90 // j’ai choisi de le faire regarder vers la droite par rapport à
l’emplacement que j’ai choisi comme entrée de labyrinthe

aller à x : -198 y : -140 // ces coordonnées sont propre à mon jeu. Il s’agit des coordonnés
de l’entrée de mon labyrinthe.

Pour connaitre les coordonnées vous pouvez simplement positionner le


sprite de Pac Man à l’endroit désiré sur la scène. Les coordonnées
correspondantes seront directement reportées dans le bloc situé dans
la liste.

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

mettre vies à 3 // le joueur dispose de 3 vies. Le nombre de vies dont dispose le joueur (Pac
Man) est stocké dans une variable. Ce nombre pourra évoluer au fur et à mesure du jeu. I
servira notamment à déterminer si le jouer a perdu.

Dans le programme des arrière-plans nous avons vu que l’arrière-


plan perdu s’affiche lorsque le message perdu est reçu. Ce
message est envoyé par le sprite Pac Man lorsque ses vies sont
égales à 0.

Dans la boucle de répétition, insérez une condition qui permettre au programme de


tester en permanence la valeur de la variable vies. Lorsque celle-ci sera égale à 0 le
message perdu sera envoyé. Et le sprite disparaitra de la scène.

LACAZE Sarah
#defiScratch3 – 20 novembre 2019

Pour vous aider :

Vous pouvez télécharger le résultat du deuxième défi sur mon compte Scratch.

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man – défiScratch3

Lien : [Link]

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

Pour cette quatrième semaine je suis


heureuse de vous annoncer que ce Pac Man
a remporté un grand succès à la Maker Faire
de Paris qui s’est tenue du 22 au 24
novembre à la Cité des Sciences et de
l’Industrie.
Petits et grands ont testé la version bêta.
Deux petits bugs ont été repérés … et
corrigés.
Les joueurs ont proposé des idées pour
améliorer le jeu, le poursuivre. Je vous les
partagerai, à la fin du #defiScratch afin que
vous puissiez vous en inspirer pour créer
votre propre version.

Cette semaine nous allons voir comment déplacer Pac Man de manière à ce qu’il ne puisse
pas traverser les murs. Et ajouter les pac-gommes qu’il doit manger afin de pouvoir sortir du
labyrinthe.
Comme d’habitude je vous ai mis en lien sur mon compte Scratch l’étape précédente du défi,
corrigée Pac Man – défiScratch4

1. Déplacer Pac Man


Pour déplacer Pac Man au sein du labyrinthe, je vous propose d’utiliser les flèches
directionnelles du clavier [haut, bas, droite, gauche]. Mais vous pouvez utiliser les touches
de votre choix.
Dans cette version de Pac Man ce dernier ne se déplace pas en permanence. Il peut faire
des stops et ainsi laisser passer les fantômes.

La scène sur laquelle se déplacent les sprites est un repère orthonormé dont le point
centrale est situé aux coordonnées x = 0 ; y = 0.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

 En modifiant les coordonnées x d’un sprite, il se déplace horizontalement : vers la


droite, si la valeur est positive et vers la gauche si la valeur est négative.
 En modifiant les coordonnées y d’un sprite il se déplace verticalement : vers le
haut si la valeur est positive et vers le bas si la valeur est négative.

Avec [flèche haut] Pac Man se déplace vers le haut en modifiant ses coordonnées y.

Avec [flèche droite] Pac man se déplace vers la droite en modifiant ses coordonnées x.
2

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

quand je reçois jeu // ce message est envoyé lorsque l’arrière-plan jeu qui représent el
labyrinthe ‘affiche.

Remarque : comme me l’a demandé @samchatice vous pouvez remplacer par le bloc
quand l’arrière-plan bascule sur jeu.

répéter indéfiniment // il s’agit d’une boucle de répétition qui va contenir les quatre
instructions, sous la forme de conditions, utilisées pour déplacer Pac Man avec les flèches.

rebondir si le bord est atteint // pour éviter que Pac Man ne sorte de la scène.

Si touche flèche haut est pressée ? alors

fixer le sens de rotation tout autour // permet au sprite de se diriger en regardant vers le
haut de la scène.

s’orienter en direction de 0 // il s’agit d’un angle. Il est modifiable en déplaçant la flèche sur
le cadran qui apparait en cliquant sur le menu déroulant.

ajouter 2 à y // Pac Man se déplace vers le haut de la scène.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

si couleur (couleur du point situé devant Pac Man) touche ( couleur des murs du
labyrinthe) ? alors // le point que nous avons positionné devant le sprite du Pac Man sert de
détecteur afin que Pac Man ne puisse pas traverser les murs.

ajouter -2 à y // lorsque un mur est détecté, Pac Man ne peut plus avancer vers le haut. Il
recule vers le bas grâce à une valeur y négative.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

Sur le principe de la [flèche haute] écrivez le programme pour


programmer [flèche bas].
Les commentaires situés dans le programme ci-dessus vous donnent
des informations sur les valeurs à renseigner pour [flèche bas].

Le programme de [flèche droite] est quasiment identique à celui de [flèche haut]. Seuls
diffèrent :

 Le sens de rotation : fixer le sens de rotation gauche-droite.


 Ici c’est la coordonnée x qui est modifiée : ajouter () à x.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

Elaborez le programme de [flèche gauche] à partir du programme de


[flèche droite] en vous référent aux instructions données pour [flèche
bas].

Vous pouvez désormais tester les déplacements de votre Pac man au sein du labyrinthe.
Mais auparavant, pensez à cacher les Fantômes pour vos tests !

2. Les pac-gommes
Pac Man se déplace pour manger toutes les pac-gommes. Dans le jeu original, certaines
pac-gommes ont des bonus. Elles procurent à Pac Man le pouvoir de manger à son tour les
fantômes pendant une durée limitée.

Pour ce projet, j’ai préféré élaborer une version plus simple. Les pac-gommes doivent être
toutes mangées pour pouvoir sortir du labyrinthe et gagner la partie.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

Vous pouvez dessiner vos propres pac-gommes ou utiliser l’un des sprite de la bibliothèque.
Pour ma part j’ai choisi le sprite ball qui dispose de 5 costumes.

Toutes les pac-gommes auront le même programme : quand elles sont touchées par pac
Man elles disparaissent et la variable points est incrémentée de 1.

Afin de simplifier nous allons créer un seul sprite pac-gomme et le


dupliquer avec son programme.

La première pile de blocs est identique à celle des Fantômes : quand le drapeau vert est
pressé les pac-gommes, qui changent en permanence de costume, ne sont pas visibles.

quand drapeau vert est cliqué

cacher

répéter indéfiniment // cette boucle de répétition contient l’algorithme pour modifier


l’apparence des Pac-gommes.

attendre 1 secondes

costume suivant

La deuxième pile de bloc contient l’algorithme utilisé pour déterminé si la pac-gomme est
mangée par Pac Man. Dans ce cas, le compteur de points est incrémenté.

quand je reçois jeu // ce message est envoyé une fois que l’arrière-plan bascule sur jeu.

mettre la taille à 40% de la taille initiale // la valeur doit être adaptée à la taille de votre
labyrinthe.

montrer // la pac-gomme est visible sur la scène.

répéter indéfiniment // cette boucle de répétition permet de tester en permanence une


condition pour définir à quel moment la pac-gomme est touchée par Pac Man.

si touche le Pac Man ? alors // si la pac-gomme est touchée par le sprite Pac Man.

cacher // elle disparaît de la scène car elle a été mangée.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

ajouter 1 à points // cette variable doit être créée de la même manière que vous avez créé
la variable vies (cf. #defiScratch3).

Les troisièmes et quatrièmes piles servent à faire disparaitre les pac-gomme de la scène
lorsque le joueur a perdu ou a gagné.

quand l’arrière-plan bascule sur Gagné

cacher

quand l’arrière-plan bascule sur perdu

cacher

Une fois les programmes élaborer, vous pouvez dupliquer ce sprite autant de fois que vous
souhaitez de pac-gommes. Vous pouvez les positionner aux endroits désirés dans le
labyrinthe en utilisant la souris directement sur la scène.

Pour dupliquer un sprite, c’est-à-dire en faire une copie avec ses


costumes et son programme.

1. Faites un clic droit sur sa vignette dans la Fenêtre des sprites.


2. Sélectionnez dupliquer.

LACAZE Sarah
#defiScratch3 – 27 novembre 2019

Lorsque Pac Man a mangé toutes les pac-gommes un message est


envoyé pour ouvrir la porte qui bloc la sortie du labyrinthe : porte
ouverte.

Complétez le programme de Pac Man en incorporant une condition : si la variable points


est égale (nombre totale de sprites de type pac-gommes créés), alors envoyer à tous
le message porte ouverte.

Pensez à initialiser la variable points à 0, tout comme la variable vies est initialisée à 3.

Pour vous aider :

Vous pouvez télécharger le résultat du troisième défi sur mon compte Scratch.

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man – défiScratch4

Lien : [Link]

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Cinquième semaine, cinquième défi. Nous


nous approchons de la fin !

Cette semaine nous allons programmer deux


fantômes le rose (Fantôme 3) et le vert
(Fantôme 4) qui effectuerons toujours même
parcours.
J’ai « involontairement » donné à Pinky
(Fantôme 3) un parcours très embêtant pour
Pac Man. En effet, il passe par l’entrée du
labyrinthe. Hors lorsque Pac Man est touché
par l’un des quatre fantômes, il perd une vie et
il retourne à l’entrée.

Les deux autres Fantômes ont quant à eux un parcours aléatoire. Mais ce sera pour la
semaine prochaine.

1. Des déplacements préprogrammés

Pour élaborer le déplacement de ces deux Fantômes vers la droite, vers la gauche, vers le
haut ou vers le bas nous allons utiliser un ensemble de blocs qui vont venir s’emboiter, tels
des Legos, dans le bloc glisser en () secondes x : () y : ().
1

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Ce bloc permet de visualiser le déplacement du sprite sur la scène. Il se déplace en glissant


en fonction d’un temps déterminé aux coordonnées spcifiées.

Il sert à stocker la coordonnée x du sprite.

Il sert à stocker la coordonnée y du sprite.

Pour additionner des valeurs.

La valeur de la coordonnée x , stockée dans le bloc abscisse x,


est augmentée de la valeur spécifiée.

La valeur de coordonnée y, stockée dans le bloc ordonnée y,


est augmentée de la valeur spécifiée.

Pour soustraire des valeurs.

La valeur de la coordonnée x, stockée dans le bloc abscisse x,


est diminuée de la valeur spécifiée.

La valeur de la coordonnée y, stockée dans le bloc ordonnée


y, est diminuée de la valeur spécifiée.

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Voici la structure des blocs utilisés pour :

 Des déplacements vers la droite.

 Des déplacements vers la gauche.

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

 Des déplacements vers le haut.

 Des déplacements vers le bas.

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Programme du Fantôme vert – Fantôme 4

Le programme existant du Fantôme 4 est complété par une initialisation :

aller à : x 14 y : 33 // il s’agit de la position de mon Fantôme à chaque fois que le jeu


commence. Nous avvons effectué la même initialisation précédemment pour Pac Man.

mettre la taille à 50% de la taille initiale // la taille dépend de votre graphisme.

Ajoutez ces deux blocs d’initialisation au programme des trois autres


Fantômes.

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Voici, à titre d’exemple, le programme de mon Fantôme vert – Fantôme 4. Son parcours est
toujours identique

quand je reçois jeu

montrer

attendre 1 secondes // mes Fantômes sortent le suns après les autres.

glisser en 2 secondes à x : abscisse y : ordonnées y + 70 // il se dirige vers le haut pour


sortir.

glisser en 1 secondes à x : abscisse x + -60 y : ordonnée y // il se déplace vers la droite.

répéter indéfiniment // dans cette boucle de répétition est positionné les blocs qui forment
le parcours que va éffectuer en permanence le Frantôme vert.

glisser 2 secondes à x : abscisse x y : ordonnées y + 200 // il se déplace vers le haut.

glisser 2 secondes à x : abscisse x + 50 y : ordonnée y // il se déplace vers la droite.

glisser 2 secondes à x : abscisse x y : ordonnées y - 50 // il se déplace vers le bas.

glisser 2 secondes à x : abscisse x + 100 y : ordonnée y // il se déplace vers la droite.

glisser 2 secondes à x : abscisse x y : ordonnées y - 100 // il se déplace vers le bas.

glisser 2 secondes à x : abscisse x - 100 y : ordonnée y // il se déplace vers la gauche.

glisser 2 secondes à x : abscisse x y : ordonnées y - 80 // il se déplace vers le bas.

glisser 2 secondes à x : abscisse x - 20 y : ordonnée y // il se déplace vers la gauche.

glisser 2 secondes à x : abscisse x y : ordonnées y + 10 // il se déplace vers le haut.

attendre nombre alétaoire entre 0.5 et 2 secondes // il fait un stop dans son déplacement.

glisser 2 secondes à x : abscisse x - 30 y : ordonnée y // il se déplace vers la gauche.

glisser 2 secondes à x : abscisse x y : ordonnées y + 150 // il se déplace vers le haut.

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Programme du Fantôme rose – Fantôme 3

Voici, à titre d’exemple, le programme de mon Fantôme rose – Fantôme 3. Le parcours qu’il
effectue est toujours le même mais les temps de déplacement sont aléatoire grâce à
l’utilisation du bloc nombre alatoire entre () et ()

quand je reçois jeu

montrer

attendre 4 secondes // mes Fantômes sortent les uns après les autres.

glisser en 2 secondes à x : abscisse y : ordonnées y + 70 // il se dirige vers le haut pour


sortir.

glisser en 1 secondes à x : abscisse x – 110 y : ordonnée y // il se déplace vers la


gauche.

répéter indéfiniment // dans cette boucle de répétition sont positionnés les blocs qui
forment le parcours éffectué en permanence par le Frantôme rose.

glisser en nombre aléatoire entre 1 et 2 secondes à x : abscisse x y : ordonnées y –


200 // il se déplace vers le bas.

glisser en nombre aléatoire entre 0.5 et 2 secondes à x : abscisse x - 30 y : ordonnée y


// il se déplace vers la gauche.

glisser en nombre aléatoire entre 0.5 et 2 secondes à x : abscisse x y : ordonnées y –


30 // il se déplace vers le bas.

glisser en nombre aléatoire entre 0.5 et 2 secondes à x : abscisse x - 90 y : ordonnée y


// il se déplace vers la gauche.

glisser en nombre aléatoire entre 1 et 3 secondes à x : abscisse x y : ordonnées y +


300 // il se déplace vers le haut.

attendre nombre alétaoire entre 0.5 et 2 secondes // il fait un stop dans son déplacement.

glisser en nombre aléatoire entre 1 et 2 secondes à x : abscisse x y : ordonnées y – 50


// il se déplace vers le bas.

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

glisser en nombre aléatoire entre 0.5 et 2 secondes à x : abscisse x +120 y : ordonnée


y // il se déplace vers la droite

glisser en nombre aléatoire entre 1 et 2 secondes à x : abscisse x y : ordonnées y –20


// il se déplace vers le bas

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

2. Des messages pour gérer les Fantômes

Lors des défis précédents, nous avons utilisé des messages pour modifier les arrière-plans. Ces
messages sont également utilisés pour faire apparaître, ou disparaitre, les Fantôme de la scène.

En vous inspirant des programmes des pac-gommes créez les programmes,


pour chaque Fantôme, afin de les faire disparaître lorsque le message perdu
et le message gagné sont reçus. Ou quand l’arrière-pla as ule su l’a i e-
pla pe du et l’a i e-plan gagné.

3. Décompter les vies

Nous avo s vu p de e t o e t o pte le o e de poi ts ha ue fois ue l’u e des pa -


gommes est touchée par Pac-Man.

Sur le même principe, Pac Man perd une vie (ajouter -1 à vies) ha ue fois u’il tou he u Fa tô e.
Et il etou e à l’e t e du la y i the.

Compléter le programme de Pac-Man : si Pac Man touche le


Fantôme () , il perd une vie et il retourne à l’entrée du labyrinthe
(sa position au démarrage du jeu).

Créez quatre conditions, une par Fantôme.

10

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

11

LACAZE Sarah
#defiScratch5 – 4 décembre 2019

Pour vous aider :

Vous pouvez télécharger le résultat du quatrième défi sur mon compte Scratch.

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man – défiScratch5

Lien : [Link]

12

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Pour ce #défiScratch6, vous allez voir comment


déplacer vos Fantômes d’une manière aléatoire au
sein du labyrinthe.

Pour fignoler Votre jeu, vous allez créer une porte


qui se ferme une fois que tous les Fantômes sont
sortis. Et qui s’ouvre lorsque Pac Man a mangé
toutes les pac-gommes. Il peut alors accéder à la
sortie du labyrinthe.

A la fin de ce #défiScratch6 votre jeu sera


terminé… mais ce n’est pas fini. Il y a encore un
septième et dernier défi la semaine prochaine !

1. Des déplacements aléatoires


Lors du dernier défi vous avez créé pour chaque Fantôme un même programme.

Nous allons compléter le programme des sprites Fantôme 1 (bleu) et Fantôme 2 (orange).
Ces deux Fantômes ont le même programme car tous deux se déplacent d’une manière
aléatoire. Chaque fois qu’ils touchent l’un des murs ils changent de direction.

Les Fantômes peuvent prendre quatre directions différentes (gauche – droite – haut – bas).
Les directions sont gérées par une variable appelée directions. En fonction de la valeur de
la variable directions, le Fantôme se déplace différemment.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Si la variable directions est à 1 = il se dirige vers la droite – modification des coordonnées x


d’une valeur positive.

Si la variable directions est à 2 = il se dirige vers la gauche = modification des coordonnées


x d’une valeur négative.

Si la variable directions est à 3 = il se dirige vers le haut = modification des coordonnées y


d’une valeur positive.

Si la variable directions est à 4 = il se dirige vers le bas = modification des coordonnées y


d’une valeur négative.

Les déplacements sont gérés par un bloc déplacements. Ce bloc n’existe pas. Nous allons
le créer et le définir.

1. Dans la palette des blocs sélectionnez Mes blocs (1) et Créer un bloc (2)
2. Une fenêtre pour créer le bloc s’ouvre
3. Renseignez le nom de votre bloc déplacements (3)
4. Validez en sélectionnant OK

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Deux blocs ont été créés :

 Le premier est situé dans la Palette des blocs (1).


 Le deuxième est dans l’Espace des scripts (2).

Le bloc situé dans l’Espace des scripts va vous permettre de définir les sépcificités du bloc
situé dans la Palette des blocs. Pour cela il suffit de lui « coller » tous les blocs le
caractérisant.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Le bloc déplacements va nous permettre de déplacer le Fantôme dans les quatres


directions, sans qu’il ne traverse les murs du labyrinthe.

Chaque fois que le Fantome rencontre un mur il recule et il change de direction d’une
manière aléatoire. Le bloc déplacement est donc constitué de :

 Une boucle de répétition.


 Quatre conditions (une par direction) elles mêmes intégrant une condition pour
changer de direction lorsqu’un mur est touché.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

définir déplacements // tous les blocs accrochés à ce bloc forment les caractéristique du
bloc déplacements.

répéter indéfiniment // ouverture d’une boucle de répétitions qui contient lels quatre
conditions qui seront testées en permanence pour gérer les déplacement du Fantôme.

rebondir si le bord est atteint // le Fantôme ne peut pas sortir de la scène.

si directions = 1 alors // première condition.

ajouter 1 à x // le Fantome se déplace vers la droit. Cette valeur peut être modifiée pour un
déplacement plus rapide.

si couleur (couleur des murs du labyrinthe) touchée ? alors // si le Fanôome rencontre


l’un des murs

ajouter -1 à x // le fantôme recul, il se déplace vers la gauche

mettre directions à nombre aléatoire entre 1 et 4 // un obstacle étant détecté le Fantôme


doit changer de direction.

Fermeture de la première condition

si directions = 2 alors // deuxième condition.

ajouter -1 à x // le Fantome se déplace vers la gauche. Cette valeur peut être modifiée pour
un déplacement plus rapide.

si couleur (couleur des murs du labyrinthe) touchée ? alors // si le Fantôome rencontre


l’un des murs

ajouter 1 à x // il recul en se déplaçant vers la droite.

mettre directions à nombre aléatoire entre 1 et 4 // un obstacle étant détecté le Fantôme


doit changer de direction.

Fermeture de la deuxième condition.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Sur le même principe que les deux conditions détaillées ci-dessus,


créez les conditions pour directions = 3 et directions = 4.

 Lorsque directions = 3 le Fantôme se déplace vers le haut et recul vers le bas :


utilisez le bloc ajouter () à y.
 Lorsque directions = 4 le Fantôme se déplace vers le bas et recul vers le haut.
Utilisez le bloc ajouter () à y.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Une fois le bloc déplacements défini il nous faut maintenant créer le programme pour mettre
en action le Fantôme 1. Ce programme sera presque le même pour le Fantôme 2.

Mon fantôme 1 est le dernier à entrer dans le labyrinthe. Derrière lui, la porte se referme.

quand l’arrière-plan bascule sur jeu // vous pouvez également utiliser quand je reçois jeu
comme nous l’avons vu dans le défi 5 pour les fantômes 3 et 4.

mettre direction à 0 // la varaiable direction est initialisée.

montrer // le Fantôme 1 est visible, bien que cachée derrière les autres fantômes.

attendre 8 secondes // ce temps d’attendre peut être modifié. Mes Fantômes entrent les uns
à la suite des autres dans le labyrinthe.

glisser en 2 secondes à x : 14 y : ordonnée y + 70 // je force ici le déplacement de mon


Fantôme pour qu’il entre dans la labyrinthe en se dirigeant vers le haut. Ces valeurs peuvent
être différentes pour votre projet.

envoyer à tous fermeture porte // l’envoi de ce message est spécifique au fantôme 1 qui
entre end ernier dans le labyrinthe.

mettre directions à nombre aléatoire entre 1 et 4 // mon Fantôme va prendre une direction
aléatoire

répéter indéfiniment // ouverture d’une boucle de répétition qui contient le bloc


déplacements précédemment défini.

déplacements // ce bloc correspond à celui situé dans la palette des blocs. Il présente
toutes les caractéristiques définies précédemment.

Elaborez le même programme pour le Fantôme 2 :


 Le temps d’attente avant d’entrer dans le labyrinthe est
différent.
 Ce fantôme n’est pas le dernier à entrer dans le labyrinthe ,vous ne devez pas utiliser
le bloc envoyer à tous fermeture porte.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

2. Programme Pac Man


Les défis précédens vous ont permis de définir :
 La perte de vies losrque Pac Man est touché par l’un des quatre fantômes
 Le gain de points losrque Pac Man mange l’une des pac-gommes
 L’ouverture de la porte du labyrinthe lorsque toutes les pac-gommes ont été
mangées.

Sur le même principe que la condition qui gère le nombre de points et


l’ouverture de la porte, créez une condition :
si le nombre de vies est égal à 0 un message perdu est envoyé.

Ce message sert à modifier l’arrière-plan qui bascule sur l’arrière-plan perdu. Et à cacher les
différents sprites. La partie étant terminée.

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

3. La porte du labyrinthe

Pour pouvoir gagner, Pac Man doit manger toutes les pac-gommes et franchir la sortie du
labyrinthe. La sortie du labyrinthe se situe à l’endroit par lequel sont arrivés les fantômes.

Nous allons créer un sprite porte pour bloquer l’entrée de la sortie une fois que le dernier
fantôme (Fantôme 1) est entré dans le labyrinthe.
Dessiné avec la Palette grapique, ce nouveau sprite qui a pour nom porte représente une
ligne qui vient se positionner à l’entrée.

10

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

A vous de créer le programme de ce sprite.


 Quand doit-il être visible ?
 Quand doit-il être caché ?

4. Un sprite pour déterminer la sortie


Afin déterminer si Pac Man a bien franchi la sortie du labyrinthe, vous pouvez positionner un
sprite sortie. Afin que ce sprite ne soit pas visible sur la scène mais détectable par Pac Man,
deux possibilités s’offres à vous :

1. Lui appliquer la même couleur que le fond du labyrinthe.

2. Lui appliquer un effet fantôme à 100. Bien qu’invisible ce sprite est détectable par
Pac Man. Ce qui n’est pas le cas en utilisant le bloc cacher.

11

LACAZE Sarah
#defiScratch6 – 11 décembre 2019

Elaborez le programme de ce sprite en fonction de l’option choisie.

Complétez le programme de Pac Man : si Pac Man touche le sprite


sortie un message gagné est envoyé.

Le jeu est terminé !


La semaine prochaine, pour clore ce #defiScratch je vous proposerai quelques améliorations
et des solutions pour répondre aux problèmes que vous rencontréez. N’hésitez pas à m’en
faire part !!

Pour vous aider :

Vous pouvez télécharger le résultat du cinquième défi sur mon compte Scratch.

Compte Scratch : LacazeSarah

Nom du fichier : Pac Man – défiScratch6

Lien : [Link]

12

LACAZE Sarah

Vous aimerez peut-être aussi