1
resposta

Sugestão de correção para chance de errar

//variaveis da bolinha
let xBolinha = 400;
let yBolinha = 300;
let diametro = 40;
//velocidade da bolinha
let velocidadexBolinha= 9; 
let velocidadeyBolinha = 9;
let raio = diametro /2;
//variaveis da raquete
let xRaquete = 15;
let yRaquete = 220;
let cRaquete = 10;
let aRaquete = 150;
//variaveis do oponente
let xRaqueteop = 770;
let yRaqueteop = 220;
let velocidadeyOp; 
// placar do jogo
let meusPontos = 0;
let pontosOp = 0;
//sons
let raquetada;
let ponto;
let  trilha;
let chanceDeErrar = 0


let colidiu = false;

function setup() {
  createCanvas(800, 600);
  trilha.loop();

}

function draw() {
  background(50);
  mostraBolinha();
  movimentoBolinha();
  verificaColisaoBordas();
  mostrarRaquete(xRaquete, yRaquete);
  movimentaMinhaRaquete();
  //colisaoRaquete();
  verificaColisaoRaquete(xRaquete, yRaquete);
  mostrarRaquete(xRaqueteop, yRaqueteop);
  movimentoRaqueteop();
  verificaColisaoRaquete(xRaqueteop, yRaqueteop);
  placar();
  marcarPontos();
}

function mostraBolinha(){
  circle(xBolinha, yBolinha, diametro);
} 

function movimentoBolinha(){
    xBolinha += velocidadexBolinha
  yBolinha += velocidadeyBolinha
}

function verificaColisaoBordas(){
   if (xBolinha + raio > width || xBolinha - raio < 0){
    velocidadexBolinha *= -1
     ponto.play();
  }
  if (yBolinha + raio > height || yBolinha - raio < 0){
    velocidadeyBolinha *= -1
  }
}

function mostrarRaquete(x, y){
  rect(x, y, cRaquete, aRaquete);
}

function movimentaMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){
   yRaquete -= 10;
  }
  if (keyIsDown(DOWN_ARROW)){
    yRaquete += 10;
  }
}

function colisaoRaquete(){
     if (xBolinha - raio < xRaquete + cRaquete && yBolinha - raio < yRaquete + aRaquete && yBolinha + raio > yRaquete){
       velocidadexBolinha *= -1;
     }
  }

function verificaColisaoRaquete(x, y){
  colidiu =
  collideRectCircle(x, y, cRaquete, aRaquete, xBolinha, yBolinha, raio);
  if (colidiu){
    velocidadexBolinha *= -1;
    raquetada.play();
  }
}

function movimentoRaqueteop(){
  velocidadeyOp = yBolinha -yRaqueteop - cRaquete / 2 - 30;
  yRaqueteop += velocidadeyOp + chanceDeErrar
  calculaChanceDeErrar()
}
function placar(){
  //stroke (255)
  textAlign (CENTER)
  textSize (32)
  fill(color(0,255,255))
  rect( 300, 10, 40, 30)
  fill(255)
  text(meusPontos, 320, 35)
  fill(color(0,255,255))
  rect ( 470, 10, 40, 30)
  fill (255)
  text(pontosOp, 490, 35 )

}

function marcarPontos(){
  if (xBolinha > 780){
    meusPontos += 1;
  }
  if (xBolinha < 20){
    pontosOp += 1;
  }
}

function preload(){
  trilha = loadSound("trilha.mp3");
  ponto = loadSound("ponto.mp3")
  raquetada = loadSound("raquetada.mp3")
}

function calculaChanceDeErrar(){
  if (pontosOp >= meusPontos) {
    chanceDeErrar += 5
    if (chanceDeErrar >= 75){
    chanceDeErrar = 75
    }
  } else {
    chanceDeErrar -= 5
    if (chanceDeErrar <= 25){
    chanceDeErrar = 25
    }
  }
}
1 resposta

Muito bacana, Renato!

Se estiver perdendo "feito", as chances aumentam rs

Mandou bem!!!

Um abraço e bons estudos!!!