3
respostas

Diferença na escrita do código

Boa tarde,

Eu não entendi o porquê de a função ser escrita de forma diferente quando vamos verificar se a bolinha está abaixo ou acima da raquete.

yBolinha - raio < yRaquete + raqueteAltura

yBolinha + raio > yRaquete

Por que na segunda verificação não somamos ou subtraímos a altura da raquete, como feito anteriormente?

Obrigado

3 respostas

Fala ai Felipe, tudo bem? Vamos lá:

Na primeira condição: yBolinha - raio < yRaquete + raqueteAltura, foi somado a raqueteAltura para que a condição ele em consideração o fim da raquete e não o ínicio.

Se a gente deixar apenas o yRaquete ele iria calcular a colisão baseada no topo da raquete e não no final dela, isso porque queremos saber se a bolinha está abaixo da raquete, então precisamos calcular a partir do final dela.

Na segunda condição yBolinha + raio > yRaquete precisamos saber se a bolinha esta acima, então calcular baseado apenas no yRaquete já e o suficiente.

Espero ter ajudado.

Entendi, muito obrigado. Como no caso da bolinha o X e Y partem do centro, eu fiquei sem saber onde estavam localizados exatamente o X e Y da raquete. Agora faz sentido, é a mesma referência do próprio cenário, começa no canto superior esquerdo, onde tanto X quanto Y são iguais a zero. Certo?!

Exatamente, isso mesmo.

Abraços 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