estou tendo o mesmo problema
//variáveis da Bolinha
let xBolinha = 300;
let yBolinha = 200;
let dBolinha = 9;
let rBolinha = dBolinha / 2;
//velocidade da Bolinha
let velocidadeXBolinha = 5;
let velocidadeYBolinha = 5;
//variaveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let cRaquete = 10;
let aRaquete = 90;
//variaveis oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;
let chanceDeErrar = 0
let colidiu = false;
//variaveis Placar
let meusPontos = 0;
let pontosOponente = 0;
//Sons do Jogo
let raquetada;
let ponto;
let trilha;
function preload(){
trilha = loadSound("trilha.mp3");
ponto = loadSound("ponto.mp3")
raquetada = loadSound("raquetada.mp3")
}
function setup() {
createCanvas(600, 400);
trilha.loop()
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
verificaColisaoborda();
mostraRaquete(xRaquete, yRaquete);
verificaColisãoRaquete(xRaquete, yRaquete)
mostraRaquete(xRaqueteOponente, yRaqueteOponente)
movimentaRaquete();
movimentaRaqueteOponente()
//verificaColisãoComRaquete();
verificaColisãoRaquete(xRaqueteOponente, yRaqueteOponente)
incluiPlacar();
marcaPonto();
}
//Funções da Bolinha
function mostraBolinha(){
circle(xBolinha, yBolinha, dBolinha);}
function movimentaBolinha(){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;}
function verificaColisaoborda(){
if (xBolinha + rBolinha > width || xBolinha - rBolinha < 0)
{
velocidadeXBolinha *= -1;}
if (yBolinha + rBolinha > height || yBolinha - rBolinha < 0)
{
velocidadeYBolinha *= -1;}
}
//Funções da Raquete
function mostraRaquete(x,y){
rect(x, y, cRaquete, aRaquete)
}
function movimentaRaquete(){
if (keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 10;
}
}
function movimentaRaqueteOponente(){
velocidadeYOponente = yBolinha - yRaqueteOponente - cRaquete/ 2 - 70;
yRaqueteOponente += velocidadeYOponente + chanceDeErrar
calculaChanceDeErrar()
}
function verificaColisãoComRaquete(){
if (xBolinha - rBolinha < xRaquete + cRaquete
& yBolinha - rBolinha < yRaquete + aRaquete
& yBolinha - rBolinha > yRaquete);
{velocidadeXBolinha *= -1;
raquetada.play()
}
}
function verificaColisãoRaquete(x,y){
colidiu =
collideRectCircle(x, y, cRaquete, aRaquete, xBolinha, yBolinha, rBolinha);
if (colidiu){
velocidadeXBolinha *= -1;
raquetada.play()
}
}
function incluiPlacar(){
stroke(255)
textAlign(CENTER)
textSize(20)
fill(color(255,140,0))
rect(150,10, 40, 20)
fill(255)
text(meusPontos, 170, 26)
fill(color(255,140,0))
rect(450, 10, 40, 20)
fill(255)
text(pontosOponente, 470, 26)
}
function marcaPonto(){
if(xBolinha > 595){
meusPontos += 1
ponto.play()
}
if(xBolinha < 5){
pontosOponente += 1
ponto.play()
}
}
function calculaChanceDeErrar() {
if (pontosOponente >= meusPontos) {
chanceDeErrar += 1
if (chanceDeErrar >= 39){
chanceDeErrar = 40
}
} else {
chanceDeErrar -= 1
if (chanceDeErrar <= 35){
chanceDeErrar = 35
}
}
}