Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

bolinha entra na raquete

//variaveis da bolinha
let xBolinha=300;
let yBolinha=200;
let diametro=15;
let raio=diametro/2;

//velocidade da bolinha
let velocidadeXBolinha=2;
let velocidadeYBolinha=2;

//variaves da raquete
let xRaquete=1;
let yRaquete=150;
let raqueteComprimento=10;
let raqueteAltura=90;

let colisao=false;

//variaveis placar do jogo
let meusPontos=0;
let pontosDoOponente=0;

//variaveis raquete oponente
let xRaqueteOponente=589;
let yRaqueteOponente=150;
let raqueteComprimentoOponente=10;
let raqueteAlturaOponente=90;
let velocidadeYOponente;
//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();
  verificaBolinha();
  mostraRaquete(xRaquete,yRaquete);
  mostraRaquete(xRaqueteOponente,yRaqueteOponente);
  movimentaRaquete();
  //verificaRaquete();
  verificaColisaoRaquete(xRaquete,yRaquete);
  //movimentaRaqueteOponente();
  verificaColisaoRaquete(xRaqueteOponente,yRaqueteOponente);
  incluiPlacar();
  marcaPonto();
}

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

function movimentaBolinha(){
  xBolinha += velocidadeXBolinha;
  yBolinha += velocidadeYBolinha;
}

function verificaBolinha(){
  if(xBolinha+raio>width||xBolinha-raio<0){
    velocidadeXBolinha *=-1;

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

  } 
}

  function mostraRaquete(x,y){
    rect(x,y,raqueteComprimento, raqueteAltura)
  }
  function movimentaRaquete(){
    if(keyIsDown(UP_ARROW)){
      yRaquete-=10;
    }
    if(keyIsDown(DOWN_ARROW)){
      yRaquete+=10;
  }
  }
 /*function verificaRaquete(){
    if(xBolinha  - raio < xRaquete +  raqueteComprimento&&yBolinha-raio<yRaquete+raqueteAltura&&yBolinha+raio>yRaquete){
     velocidadeXBolinha*=-1; 
    }    
  }*/

  function verificaColisaoRaquete(x,y){
    colisao = 
      collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
  if(colisao){
    velocidadeXBolinha*=-1;
    raquetada.play();
  }
  }

function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha -yRaqueteOponente-raqueteComprimento/2-30;
  yRaqueteOponente += velocidadeYOponente;
}
    function incluiPlacar(){
      stroke(255);
      textAlign(CENTER);//alinhamento centralizado;
      textSize(18);//tamanho da fonte do texto;
      fill(color(255,140,0));// cor do retangulo;
      rect(150,10,40,20);
      fill(255);     
      text(meusPontos,165,26);
      fill(color(255,140,0));
      rect(450,10,40,20);  
      fill(255);  text(pontosDoOponente,465,26);
    }
    function marcaPonto(){
      if(xBolinha>593){
         meusPontos +=1;
        ponto.play();
      }
      if(xBolinha<7){//se deixar 10 ele triplica o valor dos pontos
        pontosDoOponente +=1;
        ponto.play();
      }
    }
1 resposta
solução!

Fala, Francinaldo! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Eu fiz uns testes alterando a variável raqueteComprimento para 5

Isso fez com que a bolinha não entrasse atrás da raquete e contabilizasse diversos pontos

Um outro teste possível é alterar o tamanho dessa bolinha, caso o primeiro não resolva!

Qualquer dúvida nos procure

Um abraço e bons estudos