Ajout d'un indicateur de l'état du jeu

This commit is contained in:
Yannis 2023-12-26 12:55:41 +01:00
parent 97cace33d0
commit 856f59fb0e

View file

@ -1,3 +1,5 @@
from enum import Enum
from src.animation import Anim from src.animation import Anim
from src.camera import Camera from src.camera import Camera
from src.entity_manager import EntityManager from src.entity_manager import EntityManager
@ -7,6 +9,15 @@ from src.renderer import Renderer
import pygame import pygame
class GameState(Enum):
"""Enumération utilisée pour définir l'état actuel du jeu."""
NONE = 0
NORMAL = 1
BOSS_FIGHT = 2
MAIN_MENU = 3
# AJouter si besoin, mais à utiliser de préférence avec parsimony
class Engine: class Engine:
"""Classe principale qui regroupe tous les composants du programme (Renderer, MapManager, EventHandler, etc ...)""" """Classe principale qui regroupe tous les composants du programme (Renderer, MapManager, EventHandler, etc ...)"""
def __init__(self): def __init__(self):
@ -16,6 +27,9 @@ class Engine:
# Debug mode utilisé pour tricher (voir les collisions, etc...) WOW ! n'utilisez pas ça pour jouer ! # Debug mode utilisé pour tricher (voir les collisions, etc...) WOW ! n'utilisez pas ça pour jouer !
self.DEBUG_MODE = False self.DEBUG_MODE = False
# Etat courant du jeu
self.game_state = GameState.NONE
self.clock = pygame.time.Clock() self.clock = pygame.time.Clock()
self.running = False self.running = False
@ -30,7 +44,8 @@ class Engine:
self.renderer.load_tile_set("assets/tiles.png", 16) self.renderer.load_tile_set("assets/tiles.png", 16)
anim = Anim(0.5) # TODO : REMOVE (ONLY USED FOR TESTING) # TODO : REMOVE (ONLY USED FOR TESTING)
anim = Anim(0.5)
anim.load_animation_from_directory("assets/entities/player/none") anim.load_animation_from_directory("assets/entities/player/none")
self.renderer.register_animation(anim, "player_none") self.renderer.register_animation(anim, "player_none")