Entendi tudo e por enquanto funciona certinho, porém tenho esse bug na bolinha e acredito que ninguém mais aqui teve.
É super difícil fazer, tem que tentar várias vezes pra conseguir mas caso a bolinha passe muito rente à raquete ela passa direto no muro da esquerda, vai embora e nunca mais volta. Louco, né? Não consigo nem desconfiar o motivo disso.
O código é esse aqui, sei que mudei uns nomes e espero que isso não seja muito incômodo pra quem for ler. Obrigado!
//VARIÁVEIS DA BOLINHA
let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;
let raio = diametro / 2;
//VELOCIDADE DA BOLINHA
let velocidadeXBolinha = 3;
let velocidadeYBolinha = 3;
//VARIÁVEIS DA RAQUETE
let xRaquete1 = 10;
let yRaquete1 = 160;
let xRaquete2 = 580;
let yRaquete2 = 160;
let alturaRaquete = 80;
let larguraRaquete = 10;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha();
movimentaBolinha();
colisaoBorda();
mostraRaquete ();
movimentaRaquete1();
colisaoRaquete();
}
function mostraBolinha() {
circle(xBolinha, yBolinha, diametro);
}
function movimentaBolinha () {
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function colisaoBorda () {
if (xBolinha + raio > 590 || xBolinha - raio < 0) {
velocidadeXBolinha *= -1;
}
if (yBolinha + raio > 390 || yBolinha - raio < 0) {
velocidadeYBolinha *= -1;
}
}
function mostraRaquete() {
rect(xRaquete1, yRaquete1,larguraRaquete ,alturaRaquete);
}
function movimentaRaquete1() {
if (keyIsDown(UP_ARROW)) {
yRaquete1 -= 5;
}
if (keyIsDown(DOWN_ARROW)) {
yRaquete1 += 5;
}
if (yRaquete1 < 1) {
yRaquete1 = 1;
}
if (yRaquete1 + alturaRaquete > 399) {
yRaquete1 = 320;
}
}
function colisaoRaquete() {
if (xBolinha - raio < xRaquete1 + larguraRaquete && yBolinha + raio > yRaquete1 && yBolinha - raio < yRaquete1 + alturaRaquete) {
velocidadeXBolinha *= -1;
}}