Opa, tudo bem gente?
Tudo pelos conformes, seguindo a orientação do professor, porém, a raquete do oponente não bate na bolinha. Já revisei o código inteiro e não achei resposta, alguém tem ideia?
//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 50; let raio = diametro/2
//velocidade da bolinha let velocidadeXbolinha = 6; let velocidadeYBolinha = 6;
//variáveis da raquete
let xRaquete = 5; let yRaquete = 150; let compRaquete = 10; let altRaquete = 90;
let colidiu = false;
//variáveis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;
//funcionalidades
function draw() { background(0); mostraBolinha(); movimentaBolinha(); colisoes(); mostrarRaquete(xRaquete, yRaquete); movRaquete(); veriRaquete(); // colisaoRaqueteBiblioteca(); mostrarRaquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); colisaoRaqueteOponenteBiblioteca();
}
//fundo preto function setup() { createCanvas(600, 400); }
//posição centro, raio e diametro function mostraBolinha(){ circle(xBolinha, yBolinha, diametro) }
//movimentação function movimentaBolinha(){ xBolinha += velocidadeXbolinha yBolinha += velocidadeYBolinha } //colisão function colisoes(){ if (xBolinha + raio > width || xBolinha - raio < 0){ velocidadeXbolinha *= -1; } if(yBolinha + raio > height || yBolinha - raio < 0){ velocidadeYBolinha *= -1; } }
//Raquete function mostrarRaquete(x , y){ rect(x, y, compRaquete, altRaquete); }
//Movimento function movRaquete(){ if(keyIsDown(UP_ARROW)){ yRaquete -= 10; } if(keyIsDown(DOWN_ARROW)){ yRaquete += 10; } }
//colisão raquete function veriRaquete(){ if (xBolinha - raio < xRaquete + compRaquete && yBolinha - raio < yRaquete + altRaquete && yBolinha + raio > yRaquete){ velocidadeXbolinha *= -1; } }
//Colisão raquete biblioteca ps5 function colisaoRaqueteBiblioteca() { colidiu = collideRectCircle(xRaquete, yRaquete, compRaquete, altRaquete, xBolinha, yBolinha, raio); if (colidiu){ velocidadeXbolinha *= -1; } } function colisaoRaqueteOponenteBiblioteca() { colidiu = collideRectCircle(xRaqueteOponente, yRaqueteOponente, compRaquete, altRaquete, xBolinha, yBolinha, raio); if (colidiu){ velocidadeXbolinha *= -1; } } //Raquete do oponenente function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - compRaquete / 2 - 30; yRaqueteOponente += velocidadeYOponente }