1
resposta

Como funciona a função verificaColisaoRaquete( )?

Não consegui entender a lógica por trás da função verificaColisaoRaquete( ), não entendi os critérios aplicados no if.

1 resposta

Fala aí!!

A lógica da função verificaColisaoRaquete() é dividida em 3 condições:

  • Se a posição em X da bolinha menos o raio é menor do que o X da raquete mais o comprimento da mesma, ou seja, se a posição da borda da bolinha de X for menor ou igual ao valor em X da borda da raquete. Dessa forma garantimos que a bolinha irá colidir no eixo X, pois se esse valor for um número menor significa que a bolinha passou do comprimento da raquete, sinalizando uma colisão

  • Se a posição em Y da bolinha menos o raio é menor que o a posição em Y da raquete somada de sua altura, ou seja, se a borda da bolinha está no mesmo eixo em Y da borda da raquete. Dessa forma garantimos que haverá uma colisão no eixo Y, mostrando que caso esse valor esteja menor, sinalizará uma colisão.

  • Se a posição da bolinha acrescida de seu raio no eixo Y seja maior do que a posição em Y da raquete. Isso garante que a altura total da nossa raquete esteja sendo levada em consideração na colisão, e faz com que ela toque a borda do canvas caso ela não esteja presente naquele momento.

A multiplicação por -1 só indica que a nossa velocidade irá para a direção oposta, visto que iremos alternar entre uma velocidade constante positiva e uma negativa para simular a movimentação da bolinha para a esquerda e para a direita.

Ficou mais claro? Caso não tenha ficado, posso tentar explicar de maneira mais detalhada para ajudar a fixar essa parte do conteúdo. Sucesso e bons estudos!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software