Réglage du suicide de l'IA #24

Merged
CoCo_Sol merged 3 commits from fix-ai into main 2024-01-07 10:43:07 +00:00
2 changed files with 14 additions and 3 deletions
Showing only changes of commit f9d6f39dd6 - Show all commits

View file

@ -173,7 +173,7 @@ def move_entity(entity: Entity, movement: Vec2, disable_callback: bool = False):
if normal.y != 0:
movement.y *= -1
entity[Velocity].y *= -1
movement /= entity[Velocity]
# movement /= entity.get(Velocity, Vec2(1))
if obstacle is not None and not disable_callback:
if not entity.get(
CollisionHandler, CollisionHandler(lambda e, o: True)
@ -183,7 +183,7 @@ def move_entity(entity: Entity, movement: Vec2, disable_callback: bool = False):
CollisionHandler, CollisionHandler(lambda e, o: True)
).callback(obstacle, entity):
break
movement *= entity[Velocity]
# movement *= entity[Velocity]
counter += 1

View file

@ -537,11 +537,19 @@ def _update_bot(world: World):
player = world.query(Player1).pop()
# On trouve l'endroit ou la balle va arriver sur le mur de droite
for entity in world.query(RightWall):
entity[Position].x -= 122
for entity in world.query(LeftWall):
entity[Position].x += 122
bot.remove(Solid)
right_wall_ball = __simulate_wall_position(ball, RightWall)
right_touch_height = right_wall_ball[Position].y
right_wall_ball.destroy()
bot.set(Solid())
for entity in world.query(RightWall):
entity[Position].x += 122
for entity in world.query(LeftWall):
entity[Position].x -= 122
# On teste différentes possitions pour voir laquelle la plus éloigné du joueur
# Mais seulement si la balle vas vers la droite car sinon elle touchera le mur
@ -550,7 +558,10 @@ def _update_bot(world: World):
bot_base_y = bot[Position].y
target: float = right_touch_height
better_distance = None
for offset in [-100, -50, 0, 50, 100]:
offsets = [-100, -50, 0, 50, 100]
if bot[Scale].y > 250:
offsets = [-200, -100, -50, 0, 50, 100, 200]
for offset in offsets:
bot[Position].y = right_touch_height + offset
__restrict_to_scene(world)
player.remove(Solid)