Eu estava na aula que insere a pontuação e estava tudo certo com as raquetes, mas algo aconteceu que a minha raquete não rebatia mais a bola. Não consegui encontrar o erro na function verificaColisaoRaquete().
Alguém poderia me apontar o erro? Juro que já revisei o código e outros tópicos sobre o mesmo problema e nada.
//variáveis da bolinha
let xBola = 300;
let yBola = 200;
let diametro = 15;
//velocidade da bolinha
let velocidadeXBolinha = 2;
let velocidadeYBolinha = 2;
let raio = diametro / 2;
//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteAltura = 60;
let raqueteLargura = 10;
//variáveis do oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;
let colidiu = false;
//placar do jogo
let meusPontos = 0;
let pontosOponente = 0;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
verificaColisao();
mostraRaquete(xRaquete, yRaquete);
movimentaMinhaRaquete();
verificaColisaoRaquete();
verificaColisaoRaquete(xRaquete, yRaquete);
mostraRaquete(xRaqueteOponente, yRaqueteOponente);
movimentaRaqueteOponente();
verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente);
incluirPlacar();
marcaPonto();
}
function mostraBolinha(){
circle(xBola, yBola, diametro);
}
function movimentaBolinha(){
xBola += velocidadeXBolinha;
yBola += velocidadeYBolinha;
}
function verificaColisao(){
if (xBola + raio > width ||
xBola - raio < 0){
velocidadeXBolinha *= -1;
}
if (yBola +raio > height || yBola - raio < 0){
velocidadeYBolinha *= -1;
}
}
function mostraRaquete(x, y){
rect (x, y, raqueteLargura, raqueteAltura);
}
function movimentaMinhaRaquete(){
if(keyIsDown(UP_ARROW)){
yRaquete -= 5;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 5;
}
}
function verificaColisaoRaquete(){
if(xBola - raio < xRaquete + raqueteLargura && yBola - raio < yRaquete + raqueteAltura && yBola + raio > yRaquete){
velocidadeXBolinha *= -1;
}
}
function colisaoMinhaRaqueteBiblioteca(){
colidiu =
collideRectCircle(xRaquete, yRaquete, raqueteLargura, raqueteAltura, xBola, yBola, raio);
if (colidiu){
velocidadeXBolinha *= -1
}
}
function movimentaRaqueteOponente() {
velocidadeYOponente = yBola - yRaqueteOponente-raqueteLargura / 2 - 30;
yRaqueteOponente += velocidadeYOponente
}
function incluirPlacar(){
text(meusPontos, 278, 26);
fill(255);
text(pontosOponente, 321, 26)
}
function marcaPonto(){
if(xBola > 590){
meusPontos += 1
}
if (xBola < 10){
pontosOponente += 1;
}
}
function verificaColisaoRaquete(x, y) {
colidiu = collideRectCircle(xRaqueteOponente, yRaqueteOponente, raqueteLargura, raqueteAltura, xBola, yBola, raio);
if (colidiu){
velocidadeXBolinha *= -1;
}
}