Pac-Man

Remarque

Requis : session 9 terminée.

Un labyrinthe de murs bleus. Des points blancs partout. Quatre fantômes colorés qui viennent vers toi. Mange tous les points pour gagner. Touche un fantôme et c’est game over.

Démarrage

Télécharge le code de départ et décompresse le ZIP. Ouvre main.py dans Thonny et clique sur Run. Le labyrinthe apparaît et Pac-Man est prêt. C’est toi qui ajoutes le déplacement, les collisions et les fantômes.

Comment ça marche ?

Pac-Man se déplace en pixels, pas en cases. À chaque frame, il avance de snelheid × dt pixels dans sa direction. dt est le temps (en secondes) qu’a duré la frame précédente. Comme ça, le jeu avance à la même vitesse sur un ordinateur lent et sur un ordinateur rapide.

nieuw_x = self.rect.x + self.dx * PACMAN_SNL * dt

Tu vérifies la collision avec un mur en créant un rect de test à la nouvelle position et en regardant s’il chevauche un bloc de mur :

test = self.rect.copy()
test.x = nieuw_x
test.y = nieuw_y
botsing = any(test.colliderect(m.rect) for m in muren)

✅ Basic

  • Fais avancer Pac-Man dans sa direction actuelle (les flèches sont déjà prêtes).
  • Ajoute la collision avec les murs : arrête-toi si la nouvelle position touche un mur.
  • Fais fonctionner le changement de direction : ne passe à la nouvelle direction que si elle est libre.

⭐ Stretch

  • Mange les points blancs : si Pac-Man touche un point, supprime-le et compte 10 points.
  • Mange les points jaunes de power : supprime, compte 50 points et mets self.powered_up = True.
  • Gagne quand tous les points sont mangés : mets self.staat = GEWONNEN.

🔥 Expert

  • Fais bouger les fantômes : essaie des directions et choisis-en une libre (sans collision avec un mur).
  • Fais poursuivre Pac-Man par les fantômes : choisis la direction qui réduit la distance à Pac-Man.
  • Si un fantôme touche Pac-Man et que powered_up vaut False : game over.
  • Si un fantôme touche Pac-Man et que powered_up vaut True : mange le fantôme (+200 points).

Téléchargements

  • Code de départ : main.py + les fichiers de sons ; c’est toi qui remplis le déplacement et les collisions.