1
resposta

Não está marcando ponto

no código abaixo não está marcando a pontuação, o que posso ter errado ?

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

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



//variáveis da raquete 
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 10;
let raqueteAltura = 90; 

// variáveis do 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();
  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, raqueteAltura );
}

function mostraRaqueteOponente(){
  rect(xRaqueteOponente, yRaqueteOponente, raqueteComprimento, raqueteAltura );
}

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

function verificaColisaoRaquete(){
   if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + yRaquete + raqueteAltura && yBolinha + raio > yRaquete){
      velocidadeXBolinha *= -1;
   }
} 

function verificaColisaoMinhaRaqueteBiblioteca(x, y){
  colidiu = 
collideRectCircle ( x , y, raqueteComprimento, raqueteAltura, 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

Fala, Rodrigo! Tudo bem contigo?

Desculpe a demora em dar um retorno

Na função marcaPonto precisamos testar algumas variáveis.

Eu testei as seguintes variáveis abaixo. Veja se consegue com esses mesmos valores no seu projeto

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

}

Um abraço e bons estudos