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

Marca 03 pontos de cada vez e nao consigo marcar ponto no adversario, bolinha sempre acompanha a raquete do oponente

  //variáveis da bolinha
    let xBolinha = 300;
    let yBolinha = 200;
    let diametro = 13; 
    let raio = diametro/2;

  //velocidade da bolinha

    let velocidadeXBolinha = 2;
    let velocidadeYBolinha= 2;
    let raqueteComprimento = 10;
    let raqueteLargura = 90;

  //variáveis da raquete

    let xRaquete = 5;
    let yRaquete = 150;

  //variáveis da raquete oponente

    let xRaqueteOponente = 585;
    let yRaqueteOponente = 150;

    let velocidadeYOponente;

    let colidiu =false;

  //placar do jogo

  let meusPontos = 0;
  let pontosOponente = 0;

function setup() {
  createCanvas(600, 400);
}

function draw() {
    background(0);
    mostraBolinha();
    movimentaBolinha();
    verificaColisaoBorda();
    mostraRaquete(xRaquete,yRaquete);
    movimentaMinhaRaquete();
    //verificaCoalisaoRaquete();
    verificaColisaoRaquete(xRaquete,yRaquete);
    mostraRaquete(xRaqueteOponente,yRaqueteOponente);
    movimentaRaqueteOponente();
    verificaColisaoRaquete(xRaqueteOponente,yRaqueteOponente);
    incluiPlacar();
    marcaPonto();

}

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

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

function verificaColisaoBorda(){
    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,raqueteLargura);
}


function movimentaMinhaRaquete() {
  if(keyIsDown(UP_ARROW)){
    yRaquete -= 10;
  }
  if(keyIsDown(DOWN_ARROW)){
    yRaquete += 10;
  }
}
function verificaCoalisaoRaquete () {
  if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteLargura && yBolinha + raio > yRaquete){
    velocidadeXBolinha *=-1;
 }
}
function verificaColisaoRaquete(x,y){
 colidiu = collideRectCircle(x,y,raqueteComprimento,raqueteLargura,xBolinha,yBolinha,raio);
  if (colidiu) {
      velocidadeXBolinha *=-1
  }
 }

function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
  yRaqueteOponente += velocidadeYOponente;
}

function incluiPlacar (){
  fill(255);
  text(meusPontos, 278, 26);
  text(pontosOponente, 321,26);
}

function marcaPonto(){
  if (xBolinha > 590) {
    meusPontos +=1;}
  if (xBolinha < 10) {
    pontosOponente +=1;
  }
}
1 resposta
solução!

Olá, Marcio! Como vai?

Onde você pode alterar para a marcação de pontos

function marcaPonto(){
  if (xBolinha > 590) {
    meusPontos +=1;}
  if (xBolinha < 10) {
    pontosOponente +=1;
  }
}

é ver a distância, pois em vez de 590ou 10 pode ser 595e 8. Teríamos que testar.

Esses valores equivale o quanto a bolinha deve ultrapassar para ser considerada como ponto.

Eu sempre testo com valores altos. Só para teste mesmo!

Coloque um valor alto para ver que quando a bolinha entra nesses valores, até ela encostar na margem, vai ter marcado muitos pontos!

Espero ter ajudado, Marcio!!!

Um abraço e bons estudos!