Fiz o código assim como ensinado no curso, o jogo funciona, porém com um bug na bolinha. Sempre que ela toca na borda superior, ela vai em direção a borda direita... ela nunca vai em direção a borda esquerda e por conta disso, nunca chega até a raquete que foi criada pro usuário utilizar.
Alguém poderia me ajudar a encontrar uma solução para esse bug?
//variáveis relacionadas a bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;
//variáveis relacionadas a velocidade da bolinha
let velocidadeXbolinha = 6;
let velocidadeYbolinha = 6;
//variáveis relacionadas a raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 10;
let raqueeAltura = 90;
function setup()
{
createCanvas (600,400);
}
//Executa visualmente as variáveis
function draw()
{
background(0);
mostrabolinha();
movimentabolinha();
colisaoborda();
mostraraquete();
movimentaraquete1();
colisaoraquete();
}
//cria a bolinha
function mostrabolinha()
{
circle(xBolinha, yBolinha, diametro);
}
//cria o movimento da bolinha
function movimentabolinha()
{
xBolinha += velocidadeXbolinha;
yBolinha += velocidadeYbolinha;
}
//cria a colisão com a borda
function colisaoborda()
{
if (
xBolinha + raio > width ||
yBolinha - raio < 0
) {velocidadeXbolinha *= -1;}
if (
yBolinha + raio > height ||
yBolinha - raio < 0
) {velocidadeYbolinha *= -1;}
}
//cria a bolinha
function mostraraquete()
{
rect(xRaquete, yRaquete, raqueteComprimento, raqueeAltura);
}
//cria o movimento da raquete
function movimentaraquete1()
{
if (keyIsDown(UP_ARROW))
{
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW))
{
yRaquete += 10;
}
}
//cria a colisão com a raquete
function colisaoraquete()
{
if (
xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete
)
{
velocidadeXbolinha *= -1;
}
}