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





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 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.




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.


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 haut.

  • 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 :


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


Commentaires

Posts les plus consultés de ce blog

Scratch - Dessiner dans un repère orthonormé

Fabriquer une main articulée

Scratch : les déplacements