From f60b85a1bd53afc040f170ca57b99553811120e7 Mon Sep 17 00:00:00 2001 From: starnakin Date: Wed, 15 May 2024 13:01:13 +0200 Subject: [PATCH] pong online: fix: y axe paddle collision --- django/games/routine.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/django/games/routine.py b/django/games/routine.py index 3d87a42..84b6ccb 100644 --- a/django/games/routine.py +++ b/django/games/routine.py @@ -126,7 +126,6 @@ def get_impact_point(segment: Segment, ball_segment: Segment) -> Point | None: return impact - def get_first_impact(segments: list[Segment], ball: Ball): cos: float = round(math.cos(ball.angle), 6) @@ -215,6 +214,7 @@ def paddle_collision(impact: Point, player: PongPlayer, inc_x: float, inc_y: flo paddle_angle: float = paddle.angle() normal: float = paddle_angle - math.pi / 2 + normal: float = math.atan2(math.sin(normal) * -1, math.cos(normal)) start_distance: float = paddle.start.distance(impact) stop_distance: float = paddle.stop.distance(impact) @@ -224,7 +224,7 @@ def paddle_collision(impact: Point, player: PongPlayer, inc_x: float, inc_y: flo hit_percent = round(hit_percent, 1) new_angle: float = normal + (math.pi * 0.85) * (hit_percent - 0.5) - + return new_angle def wall_collision(ball_angle: float, wall: Segment) -> float: