J'aime bien !
This commit is contained in:
parent
d07f7bcc65
commit
867ae7e457
|
@ -19,19 +19,19 @@ from plugins.coroutine import wait, Coroutine
|
||||||
|
|
||||||
class Velocity(int):
|
class Velocity(int):
|
||||||
"""
|
"""
|
||||||
Definit un composant qui represente la vitesse de l'entité
|
Composant qui represente la vitesse de l'entité.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
class ShieldPos(Vec2):
|
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:
|
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__(
|
def __init__(
|
||||||
|
@ -43,21 +43,19 @@ class FightBox:
|
||||||
|
|
||||||
class ZoneAttack:
|
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):
|
class Life(int):
|
||||||
"""
|
"""
|
||||||
Ressource qui correspond a la vie du joueur
|
Ressource qui correspond a la vie du joueur.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
class Hurt:
|
class Hurt:
|
||||||
"""
|
"""
|
||||||
Definit le composant marquant les entitées pouvant infligé des degats
|
Definit le composant marquant les entitées pouvant infliger des degats.
|
||||||
|
|
||||||
*Parametres -> Degats
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, damage: float) -> None:
|
def __init__(self, damage: float) -> None:
|
||||||
|
@ -66,7 +64,7 @@ class Hurt:
|
||||||
|
|
||||||
class Hurtable(Enum):
|
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
|
TRUE = 0
|
||||||
|
@ -74,17 +72,19 @@ class Hurtable(Enum):
|
||||||
|
|
||||||
|
|
||||||
def __initialize_world(world: World):
|
def __initialize_world(world: World):
|
||||||
world.set(ShieldPos(Vec2(render.WIDTH / 2, 750)))
|
"""
|
||||||
world.set(FightBox())
|
TODO
|
||||||
world.set(Life(100))
|
"""
|
||||||
world.set(Hurtable.TRUE)
|
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("background")))
|
||||||
|
|
||||||
world.new_entity().set(
|
world.new_entity().set(
|
||||||
Sprite(
|
Sprite(
|
||||||
world[Assets].get_texture("shield"),
|
world[Assets].get_texture("shield"),
|
||||||
world[ShieldPos],
|
Vec2(world[ShieldPos]),
|
||||||
1,
|
1,
|
||||||
origin=Vec2(0.5),
|
origin=Vec2(0.5),
|
||||||
),
|
),
|
||||||
|
@ -94,33 +94,41 @@ def __initialize_world(world: World):
|
||||||
|
|
||||||
|
|
||||||
def __move(world: World):
|
def __move(world: World):
|
||||||
|
"""
|
||||||
|
TODO
|
||||||
|
"""
|
||||||
held = world[Held]
|
held = world[Held]
|
||||||
s_pos = world[ShieldPos]
|
s_pos = world[ShieldPos]
|
||||||
for entity in world.query(Sprite, Velocity):
|
for entity in world.query(Sprite, Velocity):
|
||||||
for keys in held:
|
for key in held:
|
||||||
if keys == "up":
|
if key in ("up", "z"):
|
||||||
if s_pos.y - 45.5 - entity[Velocity] > world[FightBox].p1[1]:
|
if s_pos.y - 45.5 - entity[Velocity] > world[FightBox].p1[1]:
|
||||||
s_pos.y -= entity[Velocity]
|
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]:
|
if s_pos.y + 45.5 + entity[Velocity] < world[FightBox].p2[1]:
|
||||||
s_pos.y += entity[Velocity]
|
s_pos.y += entity[Velocity]
|
||||||
if keys == "left":
|
if key in ("left", "q"):
|
||||||
if s_pos.x - 37 - entity[Velocity] > world[FightBox].p1[0]:
|
if s_pos.x - 37 - entity[Velocity] > world[FightBox].p1[0]:
|
||||||
s_pos.x -= entity[Velocity]
|
s_pos.x -= entity[Velocity]
|
||||||
if keys == "right":
|
if key in ("right", "d"):
|
||||||
if s_pos.x + 37 + entity[Velocity] < world[FightBox].p2[0]:
|
if s_pos.x + 37 + entity[Velocity] < world[FightBox].p2[0]:
|
||||||
s_pos.x += entity[Velocity]
|
s_pos.x += entity[Velocity]
|
||||||
|
entity[smooth.Target] = s_pos
|
||||||
entity.set(smooth.Target(s_pos))
|
|
||||||
|
|
||||||
|
|
||||||
def __set_hurtable_hurt(world: World):
|
def __set_hurtable_hurt(world: World):
|
||||||
|
"""
|
||||||
|
TODO
|
||||||
|
"""
|
||||||
world.set(Hurtable.FALSE)
|
world.set(Hurtable.FALSE)
|
||||||
yield wait(2)
|
yield wait(2)
|
||||||
world.set(Hurtable.TRUE)
|
world.set(Hurtable.TRUE)
|
||||||
|
|
||||||
|
|
||||||
def __check_hurt(world: World):
|
def __check_hurt(world: World):
|
||||||
|
"""
|
||||||
|
TODO
|
||||||
|
"""
|
||||||
if world[Hurtable] == Hurtable.TRUE:
|
if world[Hurtable] == Hurtable.TRUE:
|
||||||
for entity in world.query(Hurt, Sprite):
|
for entity in world.query(Hurt, Sprite):
|
||||||
position = entity.get(Sprite).position
|
position = entity.get(Sprite).position
|
||||||
|
@ -145,26 +153,33 @@ def __check_hurt(world: World):
|
||||||
|
|
||||||
|
|
||||||
def __defeat(world: World):
|
def __defeat(world: World):
|
||||||
|
"""
|
||||||
|
TODO
|
||||||
|
"""
|
||||||
if world[Life] <= 0:
|
if world[Life] <= 0:
|
||||||
world[CurrentScene] = __new_game_scene()
|
world[CurrentScene] = __new_game_scene()
|
||||||
|
|
||||||
|
|
||||||
def __create_zone_attack(world: World):
|
def __create_zone_attack(world: World):
|
||||||
|
"""
|
||||||
|
TODO
|
||||||
|
"""
|
||||||
double = random.randint(1, 10)
|
double = random.randint(1, 10)
|
||||||
locate = random.randint(0, 2)
|
locate = random.randint(0, 2)
|
||||||
if double != 10:
|
if double != 10:
|
||||||
world.new_entity().set(
|
animation = Animation("zone_attack", 60)
|
||||||
|
entity = world.new_entity()
|
||||||
|
entity.set(
|
||||||
Sprite(
|
Sprite(
|
||||||
world[Assets].get_texture("error"),
|
world[Assets].get_texture("error"),
|
||||||
Vec2((locate * 413) + world[FightBox].p1[0], world[FightBox].p1[1]),
|
Vec2((locate * 413) + world[FightBox].p1[0], world[FightBox].p1[1]),
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
Hurt(10),
|
Hurt(10),
|
||||||
Animation("zone_attack", 60),
|
animation,
|
||||||
ZoneAttack(),
|
ZoneAttack(),
|
||||||
)
|
)
|
||||||
yield wait(1.75)
|
yield animation.wait()
|
||||||
for entity in world.query(ZoneAttack):
|
|
||||||
entity.destroy()
|
entity.destroy()
|
||||||
else:
|
else:
|
||||||
locate2 = locate
|
locate2 = locate
|
||||||
|
@ -190,6 +205,9 @@ def __create_zone_attack(world: World):
|
||||||
|
|
||||||
|
|
||||||
def __check_key_pressed(world: World):
|
def __check_key_pressed(world: World):
|
||||||
|
"""
|
||||||
|
TODO
|
||||||
|
"""
|
||||||
pressed = world[Pressed]
|
pressed = world[Pressed]
|
||||||
for keys in pressed:
|
for keys in pressed:
|
||||||
if keys == "a":
|
if keys == "a":
|
||||||
|
|
Loading…
Reference in a new issue