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

meu placar não contabiliza

function setup() {
  createCanvas(600, 400);
}
// variaveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 30;
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
let raio = diametro / 2;
// variaveis da raquete
let xRaquete = 5
let yRaquete = 150
let larguraRaquete = 10
let alturaRaquete = 90
//variáveis do oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;

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

  function draw() {
    background(0);
    mostraBolinha();
    movimentaBolinha();
    verificaColisaoBorda();
    mostraRaquete(xRaquete, yRaquete);
    movimentaMinhaRaquete();
    verificaColisaoRaquete();
    mostraRaqueteOponente();
    movimentaRaqueteOponente();
     verificaColisaoRaqueteOponente();
    marcaPonto()
    incluiPlacar();
}

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(){
  rect( xRaquete, yRaquete, larguraRaquete, alturaRaquete);
}
function movimentaMinhaRaquete() {
    if (keyIsDown(UP_ARROW)) {
        yRaquete -= 10;
    }
    if (keyIsDown(DOWN_ARROW)) {
        yRaquete += 10;
    }
}
function verificaColisaoRaquete() {
    if (xBolinha - raio < xRaquete + larguraRaquete
        && yBolinha - raio < yRaquete + alturaRaquete
        && yBolinha + raio > yRaquete && xBolinha + raio > xRaquete) {
        velocidadeXBolinha *= -1;
    }
}
function mostraRaqueteOponente() {
    rect(xRaqueteOponente, yRaqueteOponente, larguraRaquete, alturaRaquete);
}
function movimentaRaqueteOponente() {
    velocidadeYOponente = yBolinha - yRaqueteOponente - alturaRaquete / 2 - 30;
    yRaqueteOponente += velocidadeYOponente

}
function verificaColisaoRaqueteOponente() {
    if (xBolinha - raio < xRaqueteOponente + larguraRaquete
        && yBolinha - raio < yRaqueteOponente + alturaRaquete
        && yBolinha + raio > yRaqueteOponente && xBolinha + raio > xRaqueteOponente) {
        velocidadeXBolinha *= -1;
    }
}
function incluiPlacar() {
    fill(255);
    text(meusPontos, 278, 26);
    text(pontosDoOponente, 321, 26);
}
function marcaPonto() {
    if (xBolinha > 590) {
        meusPontos += 1;
    }
    if (xBolinha  < 10) {
        pontosDoOponente += 1;
    }
}




já tentei adicionar o raio na função, porém contabiliza de 5 em 5 pontos link: https://editor.p5js.org/lucasmssantana/sketches/Bd1k7cOe

1 resposta
solução!

Fala Lucas, como vai?

Muito obrigado por compartilhar seu código e o link do seu projeto. Vamos lá:

Ao executar seu jogo, o placar é executado corretamente, somando 1 ponto por vez como esperado. O jogo ficou bem legal, porém está bem rápido.

Uma sugestão, é manter a velocidade 6:

let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

Espero ter ajudado e conte sempre com a Alura.

: )