Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Placar não contabiliza

Olá! Meus pontos não estão contabilizando. Podem me ajudar?

//variáveis da bola
let xBola = 240;
let yBola = 180;
let diametroBola = 20;
let raioBola = diametroBola/2; 

//velocidade da bola
let velocidadeXBola = 5;
let velocidadeYBola = 5;

//variáveis da raquete
let xRaquete = 5;
let yRaquete = 140;
let larguraRaquete = 10;
let alturaRaquete = 85;

//variáveis do oponente
let xOponente = 465;
let yOponente = 140;
let larguraOponente = 10;
let alturaOponente = 85;
let velocidadeYOponente;

//placar
let meusPontos = 0;
let pontosOponente = 0;

function setup() {
  createCanvas(480, 360);
}

function draw() {
  background('rgb(91,52,179)') ;
  noStroke () ;
  bola () ;
  divisor () ;
  raquete (xRaquete, yRaquete) ;
  raquete (xOponente, yOponente) ;
  colisaoBorda () ;
  movimentoRaquete () ;
  movimentoOponente () ;
  colisaoRaquete () ;
  colisaoOponente () ;
  placar () ;
  marcarPontos () ;
  xBola += velocidadeXBola ;
  yBola += velocidadeYBola ;

}

function bola (){
  circle(xBola,yBola,diametroBola)
}

function colisaoBorda (){
  if (xBola + raioBola > width || xBola - raioBola < 0) {
     velocidadeXBola *= -1 }

  if (yBola + raioBola > height || yBola - raioBola < 0) {
      velocidadeYBola *= -1 }

}

function divisor (){
  rect(230, 0, 10, 480)
}

function raquete (x, y){
  rect(x, y, larguraRaquete, alturaRaquete)
}

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

function colisaoRaquete (){
  if (xBola - raioBola < xRaquete + larguraRaquete && 
     yBola + raioBola > yRaquete && 
    yBola - raioBola < yRaquete + alturaRaquete)
    velocidadeXBola *= -1;
}

function colisaoOponente (){
  if (xBola + raioBola > xOponente - larguraOponente && 
     yBola + raioBola > yOponente && 
    yBola - raioBola < yOponente + alturaOponente)
    velocidadeXBola *= -1;
}

function movimentoOponente (){
  velocidadeYOponente = yBola - yOponente - 
  larguraRaquete / 2 - 30
  yOponente += velocidadeYOponente
}

function placar (){
  fill (255)
  text (meusPontos, 185, 26)
  text (meusPontos, 275, 26)
}

function marcarPontos (){
  if (xBola > 470){
      meusPontos += 1;
}
  if (xBola < 10){
     pontosOponente += 1;
  }
}
4 respostas

Tenta ajustar o tamanho da fonte para vê se exibe ou não.

function placar() { fill(255); textSize(30); text(meusPontos, 185, 26); text(pontosOponente, 275, 26); }

Então, o placar tá visível! O problema ocorre porque quando a bola bate na borda, não conta pontos

Oi pessoal, td bem? Já olhei várias vezes os vídeos, tentei copiar exatamente o que tinha nos códigos de vocês e nada de meus pontos serem marcados... Alguém conseguiria me dar uma luz??? https://scratch.mit.edu/projects/800503710/editor/

vlw desde já!

Editar

solução!

Consegui resolver, pessoal! Obrigada!