From ccff02d29b852f2288abc098658d21ab52ee52ea Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Thu, 16 Jul 2026 09:41:10 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2=D0=BE=D0=B5?= =?UTF-8?q?=20=D0=B2=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE=D0=B4=D0=B5=D0=B9=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B8=D0=B5=20=D0=BC=D1=8F=D1=87=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D1=80=D0=B0=D0=BA=D0=B5=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main.js b/src/main.js index 85012d1..c730d16 100644 --- a/src/main.js +++ b/src/main.js @@ -49,6 +49,7 @@ import { const rightBoundary = CONTAINER_WIDTH - BALL_RADIUS; const topBoundary = BALL_RADIUS; const bottomBoundary = CONTAINER_HEIGHT - BALL_RADIUS; + const paddleTop = CONTAINER_HEIGHT - PADDLE_HEIGHT; let horizontalSpeed = BALL_SPEED * Math.cos(BALL_INITIAL_ANGLE); let verticalSpeed = -1 * BALL_SPEED * Math.sin(BALL_INITIAL_ANGLE); @@ -66,6 +67,16 @@ import { verticalSpeed *= -1; } + // Базоввое взаимодействие мяча и ракетки + if ( + verticalSpeed > 0 && + ball.y + BALL_RADIUS >= paddleTop && + ball.x >= paddle.x && + ball.x <= paddle.x + PADDLE_WIDTH + ) { + verticalSpeed *= -1; + } + ball.x += horizontalSpeed * time.deltaTime; ball.y += verticalSpeed * time.deltaTime; });