let backgroundColor = 0; let canvasWidth = 600; let canvasHeight = 400; let paddleWidth = 5; let paddleHeight = 60; let leftPaddleY = canvasHeight / 2 - paddleHeight / 2; let rightPaddleY = canvasHeight / 2 - paddleHeight / 2; let ballY = 195; let ballX = 295; let velocity = 2; let velocityY = 0; let rightPaddleX = 585; let leftPaddleX = 10; function setup() { createCanvas(canvasWidth, canvasHeight); } function draw() { background(backgroundColor); rect(leftPaddleX, leftPaddleY, paddleWidth, paddleHeight); rect(rightPaddleX, rightPaddleY, paddleWidth, paddleHeight); ellipse(ballX, ballY, 10); ballX = ballX + velocity; ballY = ballY + velocityY if (ballHitPaddle()) { velocity = -velocity; let leftPaddleMiddle = leftPaddleY + paddleHeight / 2; let rightPaddleMiddle = rightPaddleY + paddleHeight / 2; if (ballX < leftPaddleX) velocityY = (leftPadlleMiddle - ballY) /6; } else { velocityY (rightPaddleMiddle -ballY) /6; } } if (ballY < 0 || ballY > canvasHeight) { } if (keyIsDown(UP_ARROW)) { rightPaddleY = rightPaddleY - 3; } if (keyIsDown(DOWN_ARROW)) { rightPaddleY = rightPaddleY + 3; } if (keyIsDown(81)) { leftPaddleY = leftPaddleY - 3; } if (keyIsDown(65)) { leftPaddleY = leftPaddleY + 3; } } function ballHitPaddle() { // Left Paddle if (ballY > leftPaddleY && ballY < leftPaddleY + paddleHeight && ballX < leftPaddleX) { return true } // Right Paddle if (ballY > rightPaddleY && ballY < rightPaddleY + paddleHeight && ballX > rightPaddleX) { return true // No Paddle } return false }