From 2fda053da9d03bdf9a40d83b90ff2692b8114a10 Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Sun, 14 Jan 2024 19:40:02 +0100 Subject: [PATCH] Ajout de l'enregistrement des boss figth --- src/engine/boss_fight_manager.py | 12 ++++++++++-- src/main.py | 24 +++++++++++++++++------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/engine/boss_fight_manager.py b/src/engine/boss_fight_manager.py index d257c58..33fc962 100644 --- a/src/engine/boss_fight_manager.py +++ b/src/engine/boss_fight_manager.py @@ -14,14 +14,17 @@ class BossFightManager: self.fights = {} self.current_fight_id = -1 + self.player_points = -1 + self.boss_points = -1 + def update(self): """Met à jour le combat de boss.""" if self.engine.game_state == GameState.BOSS_FIGHT: pass - def register_fight_data(self, fight_id: int, boss_name: str, boss_life: int, boss_damage_count: int): + def register_fight_data(self, fight_id: int, boss_name: str, total_concurrent_points: int, boss_damage_count: int): """Enregistre les données permettant de mettre en place le combat.""" - self.fights[fight_id] = [boss_name, boss_life, boss_damage_count] + self.fights[fight_id] = [boss_name, total_concurrent_points, boss_damage_count] def enter_boss_fight(self, fight_id: int): """Entre dans le combat de boss donné.""" @@ -29,6 +32,7 @@ class BossFightManager: self.engine.sound_manager.music_pause(3) self.engine.renderer.fadeout(3, (0, 0, 0), 100, True, self.setup_fight) + def setup_fight(self): """Met en place le combat.""" @@ -43,4 +47,8 @@ class BossFightManager: self.engine.sound_manager.music_set_volume(volume) self.engine.entity_manager.pause() + + self.player_points = self.fights[self.current_fight_id] + self.boss_points = self.fights[self.current_fight_id] + self.engine.game_state = GameState.BOSS_FIGHT diff --git a/src/main.py b/src/main.py index 517389e..3ed6f56 100644 --- a/src/main.py +++ b/src/main.py @@ -16,7 +16,7 @@ class Game(Engine): self.dialogs_manager.load_dialogs("assets/dialogs.json") self.create_player_entity() - self.load_boss_fight_assets() + self.setup_boss_fight() self.spawn_mobs() self.DEBUG_MODE = True @@ -35,8 +35,9 @@ class Game(Engine): self.setup_main_menu() def start_game(self): - self.game_state = GameState.NORMAL - self.renderer.fadein(1, (0, 0, 0), 100, True) + #self.game_state = GameState.NORMAL + self.boss_fight_manager.enter_boss_fight(1) + #self.renderer.fadein(1, (0, 0, 0), 100, True) def play_button_callback(self): self.renderer.fadeout(1, (0, 0, 0), 100, True, self.start_game) @@ -66,9 +67,12 @@ class Game(Engine): """Enregistre les zones d'entrées de boss fight.""" self.event_sheduler.register_area((3104, 608, 48, 16), lambda _: self.boss_fight_manager.enter_boss_fight(1), ["player"], True) - self.event_sheduler.register_area((4544, 592, 48, 16), lambda _: print("temple 2"), ["player"], True) - self.event_sheduler.register_area((5664, 688, 32, 16), lambda _: print("temple 3"), ["player"], True) - self.event_sheduler.register_area((6720, 720, 16, 32), lambda _: print("temple 4"), ["player"], True) + self.event_sheduler.register_area((4544, 592, 48, 16), lambda _: self.boss_fight_manager.enter_boss_fight(2), + ["player"], True) + self.event_sheduler.register_area((5664, 688, 32, 16), lambda _: self.boss_fight_manager.enter_boss_fight(3), + ["player"], True) + self.event_sheduler.register_area((6720, 720, 16, 32), lambda _: self.boss_fight_manager.enter_boss_fight(4), + ["player"], True) def create_player_entity(self): """Crée une entité joueur.""" @@ -129,7 +133,7 @@ class Game(Engine): mob.x, mob.y = 1600, 16 - def load_boss_fight_assets(self): + def setup_boss_fight(self): """Charge les animations de combat des combats de boss.""" player_none = Anim(1) player_none.load_animation_from_directory("assets/textures/boss_fight/player_big/none") @@ -140,6 +144,12 @@ class Game(Engine): self.renderer.boss_fight_GUI_container = pygame.image.load("assets/textures/boss_fight/fight_actions_GUI.png").convert_alpha() + # On crée les boss + self.boss_fight_manager.register_fight_data(1, "Greg", 15, 1) + self.boss_fight_manager.register_fight_data(2, "Mark", 18, 2) + self.boss_fight_manager.register_fight_data(3, "Steve", 20, 3) + self.boss_fight_manager.register_fight_data(4, "The ultra-supra boss", 25, 4) + game = Game() game.loop()