A bolinha fica presa nas raquetes e marca mais pontos do que deveria
//Variáveis da Bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2
//Velocidade da Bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
//Variáveis da Minha Raquete
let xRaquete = 5
let yRaquete = 150
let comprimentoRaquete = 10
let alturaRaquete = 90
//Variáveis da Raquete do Oponente
let xRaqueteOponente = 585
let yRaqueteOponente = 150
let colidiu = false
//Placar do jogo
let meusPontos = 0
let pontosOponente = 0
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha ();
velocidadeBolinha ();
verificaColisaoBorda ();
mostraRaquete (xRaquete, yRaquete);
movimentaMinhaRaquete ();
mostraRaquete (xRaqueteOponente, yRaqueteOponente);
movimentaRaqueteOponente ();
verificaColisaoRaquete (xRaquete, yRaquete);
verificaColisaoRaquete (xRaqueteOponente, yRaqueteOponente);
incluiPlacar ();
marcaPonto ();
}
function mostraBolinha () {
circle(xBolinha, yBolinha, diametro);
}
function velocidadeBolinha (){
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, comprimentoRaquete, alturaRaquete)
}
function movimentaMinhaRaquete () {
if (keyIsDown (UP_ARROW)) {
yRaquete -= 10
}
if (keyIsDown (DOWN_ARROW)) {
yRaquete += 10
}
yRaquete = constrain(yRaquete, 0, 310);
}
function verificaColisaoRaquete (x, y) {
colidiu = collideRectCircle (x, y, comprimentoRaquete, alturaRaquete, xBolinha, yBolinha, raio)
if (colidiu) {
velocidadeXBolinha *= -1
}
}
function movimentaRaqueteOponente () {
velocidadeYOponente = yBolinha - yRaqueteOponente - comprimentoRaquete/2 - 90;
yRaqueteOponente += velocidadeYOponente
yRaqueteOponente = constrain(yRaqueteOponente, 0, 310)
}
function incluiPlacar () {
textSize(16)
fill(255);
text(meusPontos, 278, 26);
text(pontosOponente, 321, 26);
}
function marcaPonto () {
if(xBolinha > 590) {
meusPontos += 1
}
if(xBolinha < 10) {
pontosOponente +=1
}
}