Meus pontos estão sendo marcados de 3 em 3 e os do oponente de 5 em 5, não consigo encontrar a fonte do problema.
/variáveis da Bolinha:
let xBolinha = 300;
let yBolinha = 200;
let diametroBolinha = 20;
let velocidadeXBolinha = 5;
let velocidadeYBolinha = 5;
let raioBolinha = diametroBolinha/2;
// variáveis da Raquete:
let xRaquete = 5;
let yRaquete = 150;
let widthRaquete = 10;
let heightRaquete = 90;
let velocidadeYRaquete = 5;
//variáveis Raquete do Oponente:
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;
//variáveis do placar:
let meusPontos = 0;
let pontosOponente = 0;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
bolinhaBateVolta();
mostraRaquete(xRaquete, yRaquete);
movimentaRaquete();
bateVoltaRaquete(yRaquete, velocidadeYRaquete);
bateVoltaRaquete(yRaqueteOponente, velocidadeYOponente)
mostraRaquete(xRaqueteOponente, yRaqueteOponente);
verificaColisaoBolinhaRaquete();
verificaColisaoBolinhaRaqueteOponente();
movimentaRaqueteOponente();
mostraplacar();
marcaponto();
}
function mostraBolinha(){
circle(xBolinha, yBolinha, diametroBolinha);
}
function movimentaBolinha(){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function bolinhaBateVolta(){
if (xBolinha+raioBolinha>width || xBolinha-raioBolinha<=0){
velocidadeXBolinha*= -1;
}
if (yBolinha+raioBolinha>height || yBolinha-raioBolinha<=0){
velocidadeYBolinha*= -1;
}
}
function mostraRaquete(x, y){
rect(x, y, widthRaquete,heightRaquete);
}
function movimentaRaquete(){
if(keyIsDown(UP_ARROW)){
yRaquete -= velocidadeYRaquete;
} else if(keyIsDown(DOWN_ARROW)){
yRaquete += velocidadeYRaquete;
}
}
function bateVoltaRaquete(y, velocidade){
if (y+heightRaquete>height || y<0){
velocidade*= -1;
}
}
function verificaColisaoBolinhaRaquete(){
if(xBolinha-raioBolinha<xRaquete+widthRaquete && yBolinha+raioBolinha<yRaquete+heightRaquete && yBolinha>yRaquete){
velocidadeXBolinha*= -1;
}
}
function verificaColisaoBolinhaRaqueteOponente(){
if(xBolinha+raioBolinha>xRaqueteOponente-widthRaquete && yBolinha+raioBolinha<yRaqueteOponente+heightRaquete && yBolinha>yRaqueteOponente){
velocidadeXBolinha*= -1;
}
}
function movimentaRaqueteOponente(){
velocidadeYOponente = yBolinha - yRaqueteOponente-heightRaquete/2 - 30;
yRaqueteOponente += velocidadeYOponente;
}
function mostraplacar(){
fill (255);
text(meusPontos, 280,26);
text(pontosOponente, 320, 26);
}
function marcaponto(){
if(xBolinha-raioBolinha<10){
pontosOponente= pontosOponente +1;
}else if(xBolinha+raioBolinha>590) {
meusPontos= meusPontos+1;
}
}