Como outros mencionaram, realmente a colocação das variáveis demonstradas no vídeo fazem a raquete deixar de colidir com a bola, então creio que seria interessante o vídeo passar por uma atualização, porque eu particularmente perdi muito tempo tentando corrigir o problema incorrigível.
Sobre a minha dúvida, é referente à descrição do código.
O código demonstrado no vídeo é:
function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento & yBolinha - raio < yRaquete + raqueteAltura & yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1 } }
A primeira linha faz sentido pra mim, visto que se refere ao fato da bola colidir com a superfície da raquete. Mas nas outras linhas, o código é descrito de uma forma que não faz muito sentido pra mim.
Na minha cabeça, a lógica deveria ser a seguinte:
function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento & yBolinha - raio > yRaquete + raqueteAltura & yBolinha + raio < yRaquete){ velocidadeXBolinha *= -1 } }
Por que o programa não reconhece se descrevermos dessa forma? Porque faz sentido. Na segunda linha eu estaria dizendo ''se a parte superior da bolinha for maior do que a parte de baixo da raquete'' e na terceira ''se a parte inferior fa bolinha estiver acima da parte superior da raquete''. Devo estar deixando algo passar, já quebrei a cabeça com isso e não consegui chegar a uma conclusão até esse momento kkkkkkk