Exemple #1
0
 def crée_joueur(self):
     return Entité().ajoute_composant(
         Stats(5),
         Inventaire(),
         Contrôlable(),
         MouvementGrille(
             C.JOUEUR_RECHARGE_DÉPLACEMENT),
         Orientable(
             C.DIRECTION_O, C.JOUEUR_RECHARGE_DÉPLACEMENT),
         Position(None, None, None),
         BoîteAlignée(-0.5, -0.5, 0.5, 0.5),
         Sprite({
             tuple(self.cache_images.obtiens_sprite('Joueur', 3)):
             lambda e: e.obtient_composant(
                 Orientable).orientation == C.DIRECTION_N,
             tuple(self.cache_images.obtiens_sprite('Joueur', 1)):
             lambda e: e.obtient_composant(
                 Orientable).orientation == C.DIRECTION_O,
             tuple(self.cache_images.obtiens_sprite('Joueur', 0)):
             lambda e: e.obtient_composant(
                 Orientable).orientation == C.DIRECTION_S,
             tuple(self.cache_images.obtiens_sprite('Joueur', 2)):
             lambda e: True}),
         Joueur()
     )
Exemple #2
0
    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})
        )
Exemple #3
0
 def crée_npc_dialogue(self):
     return Entité().ajoute_composant(
         Position(None, None, None),
         BoîteAlignée(-0.5, -0.5, 0.5, 0.5),
         MouvementGrille(C.JOUEUR_RECHARGE_DÉPLACEMENT),
         Orientable(C.DIRECTION_O, C.JOUEUR_RECHARGE_DÉPLACEMENT),
         Sprite({
             tuple(self.cache_images.obtiens_sprite('NPC Intro', 3)):
             lambda e: e.obtient_composant(
                 Orientable).orientation == C.DIRECTION_N,
             tuple(self.cache_images.obtiens_sprite('NPC Intro', 1)):
             lambda e: e.obtient_composant(
                 Orientable).orientation == C.DIRECTION_O,
             tuple(self.cache_images.obtiens_sprite('NPC Intro', 0)):
             lambda e: e.obtient_composant(
                 Orientable).orientation == C.DIRECTION_S,
             tuple(self.cache_images.obtiens_sprite('NPC Intro', 2)):
             lambda e: True})
     )
Exemple #4
0
 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})
     )
Exemple #5
0
 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})
     )