Recréation du classique jeu Snake avec Pygame et programmation orientée objet
Projet réalisé en Terminale NSI (année 2022/2023) dans le cadre de la spécialité Numérique et Sciences Informatiques. L'objectif était de développer une version du célèbre jeu Snake en Python avec la bibliothèque Pygame, en appliquant les concepts de la programmation orientée objet.
Le projet met en œuvre des algorithmes pour la gestion du serpent (croissance, déplacements), la détection de collisions (murs et corps) et la génération aléatoire des pommes.
Rapport de projet (PDF)class Snake:
def __init__(self):
self.corps = [Point(10, 10)]
self.vX, self.vY = 1, 0
self.score = 0
def avance(self):
nouvelle_tete = Point(self.corps[0].x + self.vX,
self.corps[0].y + self.vY)
self.corps.insert(0, nouvelle_tete)
self.corps.pop()
def collision(self):
# Collision avec les murs
if not (0 <= self.corps[0].x < DIMX and 0 <= self.corps[0].y < DIMY):
return True
# Collision avec le corps
return any(self.corps[0].x == p.x and self.corps[0].y == p.y
for p in self.corps[1:])
def grandir(self):
derniere = self.corps[-1]
self.corps.append(Point(derniere.x, derniere.y))

