1
resposta

Meu placar marca de 3 em 3 pontos

Então, meu placar ao invés de marcar 1 ponto, ele vai marcando de 3 em 3, alguém poderia me ajudar?

Segue abaixo o meu código e o link do meu projeto no P5.JS

Link do projeto:https://editor.p5js.org/v9lvital/sketches/5Hsp1P3kB

// váriaveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;

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

//variáveis da minha raquete
let xMinhaRaquete = 5;
let yMinhaRaquete = 150;
let wRaquete = 10;
let hRaquete = 90;

//variáveis do oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;

//váriaveis do placar
let meusPontos = 0;
let pontosOponente = 0;

let colidiu = false;

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

function draw() {
  background(220, 141, 155); //RGB Value
  mostrarBolinha();
  mostrarRaquete(xMinhaRaquete, yMinhaRaquete);
  mostrarRaquete(xRaqueteOponente, yRaqueteOponente);
  movimentarBolinha();
  movimentarMinhaRaquete();
  movimentarRaqueteOponente();
  verificaColisaoBolinha();

  verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente);
  verificaColisaoRaquete(xMinhaRaquete, yMinhaRaquete);
  mostrarPlacar();
  pontuação();
}

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

function mostrarRaquete(x, y) {
  rect(x, y, wRaquete, hRaquete);
}

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

function movimentarMinhaRaquete() {
  if (keyIsDown(UP_ARROW)) {
    yMinhaRaquete -= 10;
  }
  if (keyIsDown(DOWN_ARROW)) {
    yMinhaRaquete += 10;
  }
}

function movimentarRaqueteOponente() {
  velocidadeYOponente = yBolinha - yRaqueteOponente - wRaquete / 2 - 50;
  yRaqueteOponente += velocidadeYOponente;
}

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

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

function verificaColisaoRaquete(x, y) {
  colidiu = collideRectCircle(
    x,
    y,
    wRaquete,
    hRaquete,
    xBolinha,
    yBolinha,
    raio
  );
  if (colidiu) {
    velocidadeXBolinha *= -1;
  }
}

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

function pontuação() {
  if (xBolinha > 590) {
    meusPontos += 1;
  }

  if (xBolinha < 10) {
    pontosOponente += 1;
  }
}
1 resposta

Olá Lívia, tudo bem? espero que sim

Desde já, agradeço a paciência por uma resposta.

Analisando o link não observei esse erro relato por ti, usando o código enviado, já deixo o agradecimento por enviar desse modo que facilita muito o entendimento do erro, enfim, usando seu código vejo que vc fez muitas alterações após o post, o link demonstra essas alterações que você fez, resolvendo o erro, deixo aqui o meu parabéns pelo esforço e dedicação, seu projeto ficou lindo, continue assim.

Além disso, se você se sentir confortável, deixo aqui a recomendação de que entre na nossa comunidade no Discord e compartilhe o que desenvolveu, assim você pode aprender mais, colaborar no aprendizado de outras pessoas e até fazer novos amigos. Segue os links para um artigo e um Alura+ que falam um pouquinho sobre essa comunidade do Discord da Alura:

Mais uma vez, meus parabéns pelo empenho! Continue assim!

Se houver alguma outra dúvida, me coloco à disposição. Um abraço e bons estudos!