Oi Lucas, tudo bem?
Entendo que você quer fazer a colisão da raquete do oponente de uma maneira diferente da que foi apresentada no curso. No seu código, você está verificando a colisão da bola com a raquete 1. Para fazer a colisão com a raquete do oponente, você precisará verificar a posição da bola em relação à raquete do oponente.
Vamos considerar que as variáveis xRaqueteOponente
e yRaqueteOponente
representam a posição da raquete do oponente, e raqueteComprimento
e raqueteAltura
representam o comprimento e a altura da raquete, respectivamente. Podemos criar uma função de colisão para a raquete do oponente da seguinte forma:
function colisaoRaqueteOponente() {
if (xB + R > xRaqueteOponente && yB - R < yRaqueteOponente + raqueteAltura && yB + R > yRaqueteOponente){
vXB *= -1;
}
}
Nesse código, a condição xB + R > xRaqueteOponente
verifica se a bola está colidindo com a raquete do oponente do lado direito. As outras duas condições verificam se a bola está dentro do intervalo vertical da raquete do oponente. Se todas as condições forem verdadeiras, a direção horizontal da bola é invertida (vXB *= -1
).
Não esqueça de chamar a função colisaoRaqueteOponente()
dentro da função draw()
para que a colisão seja verificada a cada frame.
Espero que isso ajude a esclarecer como você pode implementar a colisão da raquete do oponente.
Lembre-se, isso é apenas uma sugestão e pode precisar de ajustes para se adequar perfeitamente ao seu código. Mas já é bom ponto de partida para você entender a lógica e praticar.
Um abraço e bons estudos.