Meu oponente nunca erra a bolinha quando uso a função dessa forma:
function movePaddle1(){
speedPaddle1 = yBall - yPaddle1 - hPaddle1 / 2 - 50;
yPaddle1 += speedPaddle1
}
Se eu aumento o valor para "2 - 55", ai ele nunca mais acerta a bolinha.
https://editor.p5js.org/guhcerdeira/full/4nRJiQSaw
function setup() {
createCanvas(600, 400);
}
//ball variables
let xBall = 300;
let yBall = 200;
let dBall = 15;
let speedXBall = 8;
let speedYBall = 8;
let rayBall = dBall / 2
function showBall(){
circle (xBall, yBall, dBall)
}
function movementBall(){
xBall += speedXBall;
yBall += speedYBall;
}
//colision variables
function colisionVerify(){
if (xBall + rayBall > width || xBall - rayBall < 0){
speedXBall *= -1;
}
if (yBall + rayBall > height || yBall - rayBall < 0) {
speedYBall *= -1;
}
}
let colision = false
//paddle variables
let xPaddle = 10;
let yPaddle = 150;
let wPaddle = 10;
let hPaddle = 90;
function showPaddle(){
rect(xPaddle, yPaddle, wPaddle, hPaddle)
}
//opponent paddle variables
let xPaddle1 = 580;
let yPaddle1 = 150;
let wPaddle1 = 10;
let hPaddle1 = 90;
let speedPaddle1;
// game score
let myPoints = 0
let oponentPoints = 0
function showPaddle1(){
rect(xPaddle1, yPaddle1, wPaddle1, hPaddle1)
}
function movePaddle(){
if (keyIsDown(UP_ARROW)){
yPaddle -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yPaddle += 10;
}
}
function movePaddle1(){
speedPaddle1 = yBall - yPaddle1 - hPaddle1 / 2 - 50;
yPaddle1 += speedPaddle1
}
function paddleColisionVerify(){
if (xBall - rayBall < xPaddle + wPaddle && yBall - rayBall < yPaddle + hPaddle && yBall + rayBall > yPaddle) {
speedXBall *= -1;
}
}
function paddleColisionVerify1(){
if (xBall + rayBall > xPaddle1 && yBall - rayBall < yPaddle1 + hPaddle1 && yBall + rayBall > yPaddle1) {
speedXBall *= -1;
}
}
function addPoints(){
fill(255);
text(myPoints, 278, 26);
text(oponentPoints, 321, 26);
}
function score(){
if (xBall > 590){
myPoints += 1;
}
if (xBall < 10){
oponentPoints += 1;
}
}
function draw() {
background(0);
showBall();
movementBall();
colisionVerify();
showPaddle();
movePaddle();
paddleColisionVerify();
showPaddle1();
movePaddle1();
paddleColisionVerify1();
addPoints();
score();
}