nsi-rpg/src/main.py

60 lines
2 KiB
Python
Raw Normal View History

import pygame.image
2023-12-26 16:18:19 +00:00
from src.engine.animation import Anim
from src.engine.engine import Engine
from src.engine.enums import GameState
2023-12-26 16:18:19 +00:00
class Game(Engine):
def __init__(self):
super().__init__()
2023-12-29 16:24:01 +00:00
self.map_manager.load_new("maps/map5.tmj")
2023-12-26 16:18:19 +00:00
2023-12-29 16:24:01 +00:00
self.renderer.load_tile_set("assets/textures/tileset.png", 16)
2023-12-26 16:18:19 +00:00
2023-12-26 18:07:21 +00:00
self.create_player_entity()
self.load_boss_fight_assets()
self.DEBUG_MODE = False
2023-12-29 17:29:01 +00:00
self.game_state = GameState.NORMAL
2023-12-26 18:07:21 +00:00
def create_player_entity(self):
"""Crée une entité joueur."""
2023-12-26 16:18:19 +00:00
anim = Anim(0.5)
anim.load_animation_from_directory("assets/textures/entities/player/none")
2023-12-26 16:18:19 +00:00
self.renderer.register_animation(anim, "player_none")
2023-12-29 17:29:01 +00:00
anim = Anim(0.1)
anim.load_animation_from_directory("assets/textures/entities/player/walking")
self.renderer.register_animation(anim, "player_walking")
2023-12-26 16:18:19 +00:00
player = self.entity_manager.register_entity("player")
player.link_animation("player_none")
2023-12-29 17:29:01 +00:00
player.collision_rect = [-6, -7, 6, 16]
2023-12-26 16:18:19 +00:00
player.set_default_life(10)
player.max_speed = 1.
2023-12-29 18:12:31 +00:00
self.entity_manager.set_player_entity("player")
2023-12-26 16:18:19 +00:00
2023-12-29 21:49:55 +00:00
player.shadow = "player_shadow"
self.renderer.register_shadow("assets/textures/entities/player/shadow.png", "player_shadow")
2023-12-26 16:18:19 +00:00
self.camera.follow_entity(player)
def load_boss_fight_assets(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")
self.renderer.register_boss_fight_player_animation(player_none, "none")
boss_none = Anim(1)
boss_none.load_animation_from_directory("assets/textures/boss_fight/boss_sprite/test/none")
self.renderer.register_boss_fight_boss_animation(boss_none, "none")
self.renderer.boss_fight_GUI_container = pygame.image.load("assets/textures/boss_fight/fight_actions_GUI.png")
2023-12-26 18:07:21 +00:00
2023-12-26 16:18:19 +00:00
game = Game()
game.loop()