diff --git a/src/scenes/story/boss_fight.py b/src/scenes/story/boss_fight.py index 8d05a50..a785617 100644 --- a/src/scenes/story/boss_fight.py +++ b/src/scenes/story/boss_fight.py @@ -19,19 +19,19 @@ from plugins.coroutine import wait, Coroutine class Velocity(int): """ - Definit un composant qui represente la vitesse de l'entité + Composant qui represente la vitesse de l'entité. """ class ShieldPos(Vec2): """ - Definit une ressource qui represente la position du joueur (du bouclier) + Ressource qui represente la position du joueur (du bouclier). """ class FightBox: """ - Definit une ressource qui represente la limite de la boite de combat + Ressource qui represente la limite de la boite de combat. """ def __init__( @@ -43,21 +43,19 @@ class FightBox: class ZoneAttack: """ - Composant qui marque une entité comme etant une attaque de zone + Composant qui marque une entité comme etant une attaque de zone. """ class Life(int): """ - Ressource qui correspond a la vie du joueur + Ressource qui correspond a la vie du joueur. """ class Hurt: """ - Definit le composant marquant les entitées pouvant infligé des degats - - *Parametres -> Degats + Definit le composant marquant les entitées pouvant infliger des degats. """ def __init__(self, damage: float) -> None: @@ -66,7 +64,7 @@ class Hurt: class Hurtable(Enum): """ - Definit une ressource qui nous dit si l'on peut se faire toucher + Ressource qui nous dit si l'on peut se faire toucher. """ TRUE = 0 @@ -74,17 +72,19 @@ class Hurtable(Enum): def __initialize_world(world: World): - world.set(ShieldPos(Vec2(render.WIDTH / 2, 750))) - world.set(FightBox()) - world.set(Life(100)) - world.set(Hurtable.TRUE) + """ + TODO + """ + world.set( + ShieldPos(Vec2(render.WIDTH / 2, 750)), FightBox(), Life(100), Hurtable.TRUE + ) world.new_entity().set(Sprite(world[Assets].get_texture("background"))) world.new_entity().set( Sprite( world[Assets].get_texture("shield"), - world[ShieldPos], + Vec2(world[ShieldPos]), 1, origin=Vec2(0.5), ), @@ -94,33 +94,41 @@ def __initialize_world(world: World): def __move(world: World): + """ + TODO + """ held = world[Held] s_pos = world[ShieldPos] for entity in world.query(Sprite, Velocity): - for keys in held: - if keys == "up": + for key in held: + if key in ("up", "z"): if s_pos.y - 45.5 - entity[Velocity] > world[FightBox].p1[1]: s_pos.y -= entity[Velocity] - if keys == "down": + if key in ("down", "s"): if s_pos.y + 45.5 + entity[Velocity] < world[FightBox].p2[1]: s_pos.y += entity[Velocity] - if keys == "left": + if key in ("left", "q"): if s_pos.x - 37 - entity[Velocity] > world[FightBox].p1[0]: s_pos.x -= entity[Velocity] - if keys == "right": + if key in ("right", "d"): if s_pos.x + 37 + entity[Velocity] < world[FightBox].p2[0]: s_pos.x += entity[Velocity] - - entity.set(smooth.Target(s_pos)) + entity[smooth.Target] = s_pos def __set_hurtable_hurt(world: World): + """ + TODO + """ world.set(Hurtable.FALSE) yield wait(2) world.set(Hurtable.TRUE) def __check_hurt(world: World): + """ + TODO + """ if world[Hurtable] == Hurtable.TRUE: for entity in world.query(Hurt, Sprite): position = entity.get(Sprite).position @@ -145,27 +153,34 @@ def __check_hurt(world: World): def __defeat(world: World): + """ + TODO + """ if world[Life] <= 0: world[CurrentScene] = __new_game_scene() def __create_zone_attack(world: World): + """ + TODO + """ double = random.randint(1, 10) locate = random.randint(0, 2) if double != 10: - world.new_entity().set( + animation = Animation("zone_attack", 60) + entity = world.new_entity() + entity.set( Sprite( world[Assets].get_texture("error"), Vec2((locate * 413) + world[FightBox].p1[0], world[FightBox].p1[1]), 1, ), Hurt(10), - Animation("zone_attack", 60), + animation, ZoneAttack(), ) - yield wait(1.75) - for entity in world.query(ZoneAttack): - entity.destroy() + yield animation.wait() + entity.destroy() else: locate2 = locate for _zone in range(2): @@ -190,6 +205,9 @@ def __create_zone_attack(world: World): def __check_key_pressed(world: World): + """ + TODO + """ pressed = world[Pressed] for keys in pressed: if keys == "a":