Coder un jeu de Pac Man avec Scratch - Défi 5
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 Fantomes 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 : ().
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.
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.
Voici la structure des blocs utilisés pour :
- Des déplacements vers la droite.
- Des déplacements vers la gauche.
- Des déplacements vers le bas.
Programme
du Fantôme vert – Fantôme 4
Le programme existant du Fantôme 4 (vert) 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.
Voici, à titre d’exemple, le programme de mon Fantôme 4 - Fantôme vert.
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.
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.
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.
2. Des messages pour gérer les Fantômes
Lors des #defiScratch 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ômes 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-plan bascule sur l’arrière-plan perdu et l’arrière-plan gagné.
3.
Décompter les vies
Nous avons vu
précédemment comment compter le nombre de points chaque fois que l’une des
pac-gommes est touchée par Pac-Man.
Sur le même principe, Pac
Man perd une vie (ajouter -1 à vies)
chaque fois qu’il touche un Fantôme. Et il retourne à l’entrée du labyrinthe.
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.
Pour
vous aider :
Compte
Scratch : LacazeSarah
Nom du
fichier : Pac Man – défiScratch5
Commentaires
Enregistrer un commentaire