Ajout de l'enregistrement des boss figth
This commit is contained in:
parent
a25d9d459b
commit
2fda053da9
|
@ -14,14 +14,17 @@ class BossFightManager:
|
||||||
self.fights = {}
|
self.fights = {}
|
||||||
self.current_fight_id = -1
|
self.current_fight_id = -1
|
||||||
|
|
||||||
|
self.player_points = -1
|
||||||
|
self.boss_points = -1
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Met à jour le combat de boss."""
|
"""Met à jour le combat de boss."""
|
||||||
if self.engine.game_state == GameState.BOSS_FIGHT:
|
if self.engine.game_state == GameState.BOSS_FIGHT:
|
||||||
pass
|
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."""
|
"""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):
|
def enter_boss_fight(self, fight_id: int):
|
||||||
"""Entre dans le combat de boss donné."""
|
"""Entre dans le combat de boss donné."""
|
||||||
|
@ -29,6 +32,7 @@ class BossFightManager:
|
||||||
self.engine.sound_manager.music_pause(3)
|
self.engine.sound_manager.music_pause(3)
|
||||||
self.engine.renderer.fadeout(3, (0, 0, 0), 100, True, self.setup_fight)
|
self.engine.renderer.fadeout(3, (0, 0, 0), 100, True, self.setup_fight)
|
||||||
|
|
||||||
|
|
||||||
def setup_fight(self):
|
def setup_fight(self):
|
||||||
"""Met en place le combat."""
|
"""Met en place le combat."""
|
||||||
|
|
||||||
|
@ -43,4 +47,8 @@ class BossFightManager:
|
||||||
self.engine.sound_manager.music_set_volume(volume)
|
self.engine.sound_manager.music_set_volume(volume)
|
||||||
|
|
||||||
self.engine.entity_manager.pause()
|
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
|
self.engine.game_state = GameState.BOSS_FIGHT
|
||||||
|
|
24
src/main.py
24
src/main.py
|
@ -16,7 +16,7 @@ class Game(Engine):
|
||||||
self.dialogs_manager.load_dialogs("assets/dialogs.json")
|
self.dialogs_manager.load_dialogs("assets/dialogs.json")
|
||||||
|
|
||||||
self.create_player_entity()
|
self.create_player_entity()
|
||||||
self.load_boss_fight_assets()
|
self.setup_boss_fight()
|
||||||
self.spawn_mobs()
|
self.spawn_mobs()
|
||||||
|
|
||||||
self.DEBUG_MODE = True
|
self.DEBUG_MODE = True
|
||||||
|
@ -35,8 +35,9 @@ class Game(Engine):
|
||||||
self.setup_main_menu()
|
self.setup_main_menu()
|
||||||
|
|
||||||
def start_game(self):
|
def start_game(self):
|
||||||
self.game_state = GameState.NORMAL
|
#self.game_state = GameState.NORMAL
|
||||||
self.renderer.fadein(1, (0, 0, 0), 100, True)
|
self.boss_fight_manager.enter_boss_fight(1)
|
||||||
|
#self.renderer.fadein(1, (0, 0, 0), 100, True)
|
||||||
|
|
||||||
def play_button_callback(self):
|
def play_button_callback(self):
|
||||||
self.renderer.fadeout(1, (0, 0, 0), 100, True, self.start_game)
|
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."""
|
"""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),
|
self.event_sheduler.register_area((3104, 608, 48, 16), lambda _: self.boss_fight_manager.enter_boss_fight(1),
|
||||||
["player"], True)
|
["player"], True)
|
||||||
self.event_sheduler.register_area((4544, 592, 48, 16), lambda _: print("temple 2"), ["player"], True)
|
self.event_sheduler.register_area((4544, 592, 48, 16), lambda _: self.boss_fight_manager.enter_boss_fight(2),
|
||||||
self.event_sheduler.register_area((5664, 688, 32, 16), lambda _: print("temple 3"), ["player"], True)
|
["player"], True)
|
||||||
self.event_sheduler.register_area((6720, 720, 16, 32), lambda _: print("temple 4"), ["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):
|
def create_player_entity(self):
|
||||||
"""Crée une entité joueur."""
|
"""Crée une entité joueur."""
|
||||||
|
@ -129,7 +133,7 @@ class Game(Engine):
|
||||||
|
|
||||||
mob.x, mob.y = 1600, 16
|
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."""
|
"""Charge les animations de combat des combats de boss."""
|
||||||
player_none = Anim(1)
|
player_none = Anim(1)
|
||||||
player_none.load_animation_from_directory("assets/textures/boss_fight/player_big/none")
|
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()
|
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 = Game()
|
||||||
game.loop()
|
game.loop()
|
||||||
|
|
Loading…
Reference in a new issue