Adicionei a variável chanceDeErrar e a função e o jogo bugou.
//bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametroBolinha = 15;
let raioBolinha = diametroBolinha / 2;
//retangulo1(minha raquete)
let xRetangulo1 = 5;
let yRetangulo1 = 150;
let larguraRetangulo1 = 10;
let alturaRetangulo1 = 90;
//ratangulo2(raquete do oponente)
let xRetangulo2 = 585;
let yRetangulo2 = 150;
let velYOponente;
//velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
//colisão
let colisao = false;
//placar do jogo
let meusPontos = 0;
let pontosDoOponente = 0;
//sons do jogo
let raquetada;
let ponto;
let trilha;
//chance do oponente errar
let chanceDeErrar = 0;
function preload(){
trilha = loadSound("trilha.mp3");
ponto = loadSound("ponto.mp3");
raquetada = loadSound("raquetada.mp3")
}
//background
function setup() {
createCanvas(600, 400);
trilha.loop();
}
//comandos
function draw() {
background(0);
mostraBolinha();
velocidadesBolinhas();
colisaoBorda();
mostraRaquete(xRetangulo1, yRetangulo1);
mostraRaquete(xRetangulo2, yRetangulo2);
movimentoRaquete1();
movimentoRaquete2();
colisaoBiblioteca(xRetangulo1, yRetangulo1);
colisaoBiblioteca(xRetangulo2, yRetangulo2);
incluiPlacar();
marcaPonto();
calculaChanceDeErrar();
}
function mostraBolinha(){
circle(xBolinha,yBolinha,diametroBolinha);
}
function mostraRaquete(x, y){
rect(x, y, larguraRetangulo1, alturaRetangulo1);
}
function movimentoRaquete1(){
if (keyIsDown(UP_ARROW)){
yRetangulo1 -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRetangulo1 += 10;
}
}
function movimentoRaquete2(){
velYOponente = yBolinha -yRetangulo2 - larguraRetangulo1 / 2 - 30;
yRetangulo2 += velYOponente + chanceDeErrar;
calculaChanceDeErrar();
}
function velocidadesBolinhas(){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function colisaoBorda(){
if (xBolinha + raioBolinha > width || xBolinha - raioBolinha < 0){
velocidadeXBolinha *= -1;
}
if (yBolinha + raioBolinha > height || yBolinha - raioBolinha < 0){
velocidadeYBolinha *= -1;
}
}
function colisaoBiblioteca(x, y) {
colidiu = collideRectCircle(x, y, larguraRetangulo1, alturaRetangulo1, xBolinha, yBolinha,raioBolinha);
if (colidiu) {
velocidadeXBolinha *= -1;
raquetada.play();
}
}
function incluiPlacar(){
stroke(255);
textAlign(CENTER);
textSize(16);
fill(color(255,40,0));
rect(150, 10, 40, 20);
fill(255);
text(meusPontos, 170, 26);
fill(color(255,40,0));
rect(450,10,40,20);
fill(255)
text(pontosDoOponente, 470, 26);
}
function marcaPonto(){
if (xBolinha > 590){
meusPontos += 1
ponto.play();
}
if (xBolinha < 10){
pontosDoOponente +=1
ponto.play();
}
}
function calculaChanceDeErrar() {
if (pontosDoOponente >= meusPontos) {
chanceDeErrar += 1
if (chanceDeErrar >= 39){
chanceDeErrar = 40
}
} else {
chanceDeErrar -= 1
if (chanceDeErrar <= 35){
chanceDeErrar = 35
}
}
}