1
resposta

Oponente não acerta!

//Variaveis Bolinha
var xBolinha = 300;
var yBolinha = 200;
var diametro = 13;
var raio = diametro / 2;

//Variaveis da Velocidade
var velocidadeXbolinha = 6;
var velocidadeYbolinha = 6;

//Variaveis criação da Raquete
var xRaquete = 5;
var yRaquete = 150;
var raqueteComprimento = 10;
var raqueteAltura = 70;

//Variaveis do Oponente.
var xRaqueteOponente = 585;
var yRaqueteOponente = 150;

var velocidadeYoponente;

//Chance de Errar
var chanceDeErrar = 0;



//Placar do Jogo
var meusPontos = 0;
var pontosDoOponente = 0;

//Sons do Jogo

var raquetada;
var ponto;
var 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();
  verificaColisao();
  bolinhaNaoFicaPresa();
  mostraRaquete(xRaquete, yRaquete);
  movimentaRaquete();
  verificaColisaoRaquete(xRaquete, yRaquete);
  mostraRaqueteOponente(xRaqueteOponente, yRaqueteOponente);
  movimentaRaqueteOponente();
  verificaColisaoRaqueteOponente();
  incluiPlacar();
  marcaPonto();

}

function bolinhaNaoFicaPresa(){
  if (xBolinha + raio < 0){ xBolinha = 300; } }

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

function movimentaBolinha(){
  xBolinha += velocidadeXbolinha;
  yBolinha += velocidadeYbolinha;
}

function verificaColisao(){

  if (xBolinha + raio> width || xBolinha - raio <0){
    velocidadeXbolinha *= -1;    
  }

  if (yBolinha + raio > height || yBolinha - raio<0){
    velocidadeYbolinha *= -1;

  }
}

function mostraRaquete(x, y){
   rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura);
}
function mostraRaqueteOponente(x, y){
   rect(x, y, raqueteComprimento, raqueteAltura);
}

function movimentaRaquete(){
  if(keyIsDown(UP_ARROW)) {
    yRaquete -= 10;
  }

  if(keyIsDown(DOWN_ARROW)){
    yRaquete += + 10;
  }
}

function verificaColisaoRaquete(){
  if(xBolinha < xRaquete + raqueteComprimento 
     && yBolinha - raio < 
       yRaquete + raqueteAltura
         && yBolinha + raio > yRaquete){

    velocidadeXbolinha *= -1;
    raquetada.play();
  }
}

function verificaColisaoRaqueteOponente(){
  if (xBolinha + raio > xRaqueteOponente 
      && yBolinha + raio <
        yRaqueteOponente + raqueteAltura 
          && yBolinha + raio > yRaqueteOponente) {

    velocidadeXbolinha *= -1;
    raquetada.play();
  } 
}


function movimentaRaqueteOponente(){

  velocidadeYoponente = yBolinha - yRaqueteOponente + raqueteComprimento / 2 -30;
  yRaqueteOponente += velocidadeYoponente + chanceDeErrar;
  calculaChanceDeErrar();
}

//opção desabilitada de multplayer
/*function movimentaRaqueteOponente(){

  if(keyIsDown(87)) {
    yRaqueteOponente -= 10;
  }

  if(keyIsDown(83)){
    yRaqueteOponente += + 10;
  }

}*/

function calculaChanceDeErrar(){
  if(pontosDoOponente >= meusPontos){
    chanceDeErrar += 1    
     if(chanceDeErrar >= 39){
       chanceDeErrar = 40       
     }
  } else {
    chanceDeErrar -= 1
    if (chanceDeErrar <= 35){
      chanceDeErrar = 35
    }
  }
}

function incluiPlacar(){
  stroke(255);
  textAlign(CENTER);
  textSize(16); 
  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(pontosDoOponente, 470, 26);
}

function marcaPonto(){
  if (xBolinha > 590){
    meusPontos += 1;
    ponto.play();
  }
  if(xBolinha < 10){
    pontosDoOponente += 1;
    ponto.play();
  }
}
1 resposta

Não sei se vai realmente ajudar, mas no meu caso eu alterei o tamanho da bolinha, passei para 28. Você pode ir testando até achar um tamanho bom. Porém, eu fiz todo o meu código baseado nesse tamanho, a você alterar o tamanho da bolinha (diâmetro) também vai ter que alterar outros fatores, como o os pontos.