def crée_boss(self): def en_collision(état, e1, e2): if e2.contient_composant(Joueur): combat = e1.obtient_composant(LanceCombat) self.état.entité_lance_combat = e1 combat.sur_interaction(self.état) self.mécanique_combat.ennemis[1] = copy.copy(e1.obtient_composant(LanceCombat).entités_combat[0]) self.mécanique_combat.ennemis[1].obtient_composant(Stats).réinit_HP() pygame.mixer.music.stop() musique_choisie = 'demens.mp3' pygame.mixer.music.load('ressources\\Musique\\' + musique_choisie) pygame.mixer.music.play(-1) return Entité('Boss').ajoute_composant( Combat(self.cache_images_combat.obtiens('Boss')), Stats(10, (4, 8, 3, 1)), Position(None, None, None), BoîteAlignée(-4.5, -4.5, 4.5, 4.5), Collisionneur(en_collision), MouvementGrille(C.JOUEUR_RECHARGE_DÉPLACEMENT), Orientable(C.DIRECTION_E, C.JOUEUR_RECHARGE_DÉPLACEMENT), Sprite({ tuple(self.cache_images.obtiens_sprite('Boss', 1)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_N, tuple(self.cache_images.obtiens_sprite('Boss', 1)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_O, tuple(self.cache_images.obtiens_sprite('Boss', 1)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_S, tuple(self.cache_images.obtiens_sprite('Boss', 1)): lambda e: True}) )
def crée_diable(self): return Entité('Diable').ajoute_composant( Combat(self.cache_images_combat.obtiens('Diable')), Stats(20, (0.2, 0, 2, 1)), Position(None, None, None), BoîteAlignée(-0.5, -0.5, 0.5, 0.5), MouvementGrille(C.JOUEUR_RECHARGE_DÉPLACEMENT), Orientable(C.DIRECTION_E, C.JOUEUR_RECHARGE_DÉPLACEMENT), Sprite({ pygame.transform.scale(self.cache_images_combat.obtiens('Diable'), (32, 32)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_N, pygame.transform.scale(self.cache_images_combat.obtiens('Diable'), (32, 32)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_O, pygame.transform.scale(self.cache_images_combat.obtiens('Diable'), (32, 32)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_S, pygame.transform.scale(self.cache_images_combat.obtiens('Diable'), (32, 32)): lambda e: True}) )
def crée_loup(self): return Entité('Loup').ajoute_composant( Combat(self.cache_images_combat.obtiens('Loup')), Stats(30, (0.2, 0, 3, 1)), Position(None, None, None), BoîteAlignée(-0.5, -0.5, 0.5, 0.5), MouvementGrille(C.JOUEUR_RECHARGE_DÉPLACEMENT), Orientable(C.DIRECTION_E, C.JOUEUR_RECHARGE_DÉPLACEMENT), Sprite({ tuple(self.cache_images.obtiens_sprite('Loup', 3)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_N, tuple(self.cache_images.obtiens_sprite('Loup', 1)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_O, tuple(self.cache_images.obtiens_sprite('Loup', 0)): lambda e: e.obtient_composant( Orientable).orientation == C.DIRECTION_S, tuple(self.cache_images.obtiens_sprite('Loup', 2)): lambda e: True}) )
def crée_chauve_souris(self): return Entité('Chauve_Souris').ajoute_composant( Combat(self.cache_images_combat.obtiens('Chauve_Souris')), Stats(15, (0.1, 0, 1, 1)), )