Não consegui compreender por que a função movimentaRaqueteOponente se eu coloco 60 faz com que a bolinha não colida com a raquete oponente nas extremidades mas com o valor 30 ela colide 100% das vezes
//variaveis da bolinã de gorfe
let xBolinha = 375;
let yBolinha = 275;
let diametro = 20;
let raio = diametro / 2;
let velocidadeXBolinha = 2;
let velocidadeYBolinha = 2;
//variaveis raquete
let xRaquete = 5;
let yRaquete = 200;
let alturaRaquete = 10;
let larguraRaquete = 140;
//variaveis raquete oponente
let xRaqueteOponente = 725;
let yRaqueteOponente = 200;
let velocidadeYOponente;
function setup() {
createCanvas(750, 550);
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
verificaColisaoBorda();
mostraRaquete();
moveMinhaRaquete();
verificaColisaoRaquete(xRaquete, yRaquete);
mostraRaqueteOponente();
movimentaRaqueteOponente();
verificaColisaoRaqueteOponente();
}
//funções bolinã de gorfe
function mostraBolinha(){
circle(xBolinha, yBolinha, 20)}
function movimentaBolinha(){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function verificaColisaoBorda(){
if (xBolinha + raio > width || xBolinha - raio <0){velocidadeXBolinha *= -1;
}
if (yBolinha + raio > height || yBolinha - raio <0){velocidadeYBolinha *= -1;
}
}
//funções da raquete
function mostraRaquete(){
rect(xRaquete,yRaquete, alturaRaquete, larguraRaquete)
}
function moveMinhaRaquete(){
if (keyIsDown (UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown (DOWN_ARROW)){
yRaquete += 10;
}
}
function verificaColisaoRaquete(x, y){
if (xBolinha - raio < x + alturaRaquete && yBolinha - raio < y + larguraRaquete && yBolinha + raio > y){
velocidadeXBolinha *=-1;
}
}
//funções da raquete oponente
function mostraRaqueteOponente(){
rect(xRaqueteOponente,yRaqueteOponente, alturaRaquete, larguraRaquete)
}
**function movimentaRaqueteOponente(){
velocidadeYOponente = yBolinha - yRaqueteOponente - larguraRaquete / 2 - 30;
yRaqueteOponente += velocidadeYOponente**
}
function verificaColisaoRaqueteOponente(){
if (xBolinha + raio > xRaqueteOponente && yBolinha + raio < yRaqueteOponente + larguraRaquete && yBolinha + raio > yRaqueteOponente){
velocidadeXBolinha *=-1;
}
}