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

Não consigo entender porque não contabiliza os pontos, já que os codigos não apresentam nenhum erro aparente.

// variaveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 20; let raio = diametro / 2 ; // variaveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90; let colidiu = false

// variaveis raquete oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;

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

// placar do jogo let meusPontos = 0; let pontosDoOponente = 0;

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

function draw() { background(0); circle(xBolinha, yBolinha, diametro) ; xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha;

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete,yRaquete); movimentaMinhaRaquete(); verificaColisaoRaquete(xRaquete,yRaquete); mostraRaquete(xRaqueteOponente,yRaqueteOponente) ; movimentaRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente,yRaqueteOponente); incluirPlacar(); 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 movimentaMinhaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; }}function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1; } }

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

}

}

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

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

function incluirPlacar(){ fill(255) text(meusPontos,278, 26) text(pontosDoOponente,321, 26) }

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

1 resposta
solução!

Experimente fechar as chaves antes do segundo if!

ao menos aqui fiz assim!

function marcaPonto(){
  if (xBolinha < 10){
    pontosPlayer2 += 1
    ponto.play();
  }
  if (xBolinha > 590){
    pontosPlayer1 += 1
    ponto.play();
  }
}