|
|
@ -106,10 +106,37 @@ class Joueur: |
|
|
|
self.vies = 0 |
|
|
|
self.vies = 0 |
|
|
|
|
|
|
|
|
|
|
|
"""Classe intégrant la gestion du jeu.""" |
|
|
|
"""Classe intégrant la gestion du jeu.""" |
|
|
|
class Zombie: |
|
|
|
class Monstre: |
|
|
|
|
|
|
|
def __init__(self) -> None: |
|
|
|
|
|
|
|
self.x = 100 # coordonnée x du coin haut à gauche du carré |
|
|
|
|
|
|
|
self.y = 0 # coordonnée y du coin haut à gauche du carré |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def set_x(self:'Monstre', dx:int) -> None: |
|
|
|
|
|
|
|
"""Déplace le zombie à gauche si dx positif, à droite si négatif""" |
|
|
|
|
|
|
|
self.x = self.x + dx |
|
|
|
|
|
|
|
if self.x < 0: |
|
|
|
|
|
|
|
self.x = 0 |
|
|
|
|
|
|
|
elif self.x >= 120: |
|
|
|
|
|
|
|
self.x = 120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def set_y(self:'Monstre', dy:int) -> None: |
|
|
|
|
|
|
|
"""Déplace le Monstre en bas si dy positif, en haut si négatif""" |
|
|
|
|
|
|
|
self.y = self.y + dy |
|
|
|
|
|
|
|
if self.y < 0: |
|
|
|
|
|
|
|
self.y = 0 |
|
|
|
|
|
|
|
elif self.y >= 120: |
|
|
|
|
|
|
|
self.y = 120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_coord(self:'Perenoel') -> tuple[int, int]: |
|
|
|
|
|
|
|
"""Renvoie le couple (x, y) qui contient les coordonnées (du coin haut gauche) du Perenoel""" |
|
|
|
|
|
|
|
return (self.x, self.y) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def afficher(self:'Perenoel') -> None: |
|
|
|
|
|
|
|
"""Affiche le Perenoel""" |
|
|
|
|
|
|
|
pyxel.blt(self.x, self.y, 0, 10, 5, 21, 22) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Enemmi: |
|
|
|
class Ennemi: |
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, monstre:'Monstre', vies:int) -> None: |
|
|
|
def __init__(self, monstre:'Monstre', vies:int) -> None: |
|
|
|
self.vies = vies |
|
|
|
self.vies = vies |
|
|
@ -128,10 +155,12 @@ class Jeu: |
|
|
|
|
|
|
|
|
|
|
|
# Initialisation des données du jeu |
|
|
|
# Initialisation des données du jeu |
|
|
|
self.perenoel = Perenoel() |
|
|
|
self.perenoel = Perenoel() |
|
|
|
|
|
|
|
self.monstre = Monstre() |
|
|
|
self.objet = Objet(115,0,X1_SAPIN, Y1_SAPIN, X2_SAPIN, Y2_SAPIN) |
|
|
|
self.objet = Objet(115,0,X1_SAPIN, Y1_SAPIN, X2_SAPIN, Y2_SAPIN) |
|
|
|
self.objet2 = Objet(80,80,X1_CADEAU1, Y1_CADEAU1, X2_CADEAU1, Y2_CADEAU1) |
|
|
|
self.objet2 = Objet(80,80,X1_CADEAU1, Y1_CADEAU1, X2_CADEAU1, Y2_CADEAU1) |
|
|
|
self.plateforme = Plateforme() |
|
|
|
self.plateforme = Plateforme() |
|
|
|
self.joueur = Joueur(self.perenoel, 4) |
|
|
|
self.joueur = Joueur(self.perenoel, 4) |
|
|
|
|
|
|
|
self.ennemi = Ennemi(self.monstre, 1) |
|
|
|
self.tirs = [] # Tableau des tirs |
|
|
|
self.tirs = [] # Tableau des tirs |
|
|
|
self.ennemis = [] # Tableau des ennemis présents |
|
|
|
self.ennemis = [] # Tableau des ennemis présents |
|
|
|
self.explosions = [] # Tableau des explosions |
|
|
|
self.explosions = [] # Tableau des explosions |
|
|
@ -153,6 +182,7 @@ class Jeu: |
|
|
|
def afficher(self:'Jeu') -> None: |
|
|
|
def afficher(self:'Jeu') -> None: |
|
|
|
pyxel.cls(4) |
|
|
|
pyxel.cls(4) |
|
|
|
self.perenoel.afficher() |
|
|
|
self.perenoel.afficher() |
|
|
|
|
|
|
|
self.monstre.afficher() |
|
|
|
self.objet.afficher() |
|
|
|
self.objet.afficher() |
|
|
|
self.objet2.afficher() |
|
|
|
self.objet2.afficher() |
|
|
|
|
|
|
|
|
|
|
|