Após adicionar a função verificaColisaoRaquete na função draw, exatamente igual como o professor escreveu, a bola verifica a colisão apenas na borda direita.
Segue meu código:
//variáveis da bola
let xBola = 300;
let yBola = 200;
let diametro = 25;
let raio = diametro / 2 ;
//velocidade da bola
let velocidadeXBola = 6;
let velocidadeYBola = 6;
//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 10;
let raqueteAltura = 90;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0); //Desenha o fundo
mostraBola(); //Desenha a bola
movimentaBola(); //Movimenta a bola
verificaColisaoBorda(); //Verifica a colisão da bola
mostraRaquete();
movimentaRaqueteJogador1();
verificaColisaoRaquete();
}
function mostraBola(){
circle(xBola, yBola, diametro);
}
function movimentaBola (){
xBola += velocidadeXBola;
yBola += velocidadeYBola;
}
function verificaColisaoBorda(){
if (xBola + raio > width ||
xBola - raio < 0){
velocidadeXBola *= -1;
}
if (yBola + raio > height ||
yBola - raio < 0){
velocidadeYBola *= -1
}
}
function mostraRaquete(){
rect(xRaquete, yRaquete, raqueteComprimento,
raqueteAltura);
}
function movimentaRaqueteJogador1(){
if (keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 10;
}
}
function verificaColisaoRaquete(){
if (xBola < xRaquete + raqueteComprimento){
velocidadeXBola *= -1;
}
}