1
resposta

Oponente nunca Erra

Tentei alterar os parâmetros da função da movimentação da raquete do oponente, mas ou ele nunca erra ou ele erra todas

"function movimentaRaqueteOponente(){ velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteLargura /2-80; yRaqueteOponente += velocidadeYOponente }"

Como posso resolver isso e qual a função exata do "2"?

1 resposta

Boa tarde, Eduardo! Tudo bem?

Eu também estou aprendendo, assim como você, mas acho que posso te ajudar.

Vi que na sua função você está utilizando a variável "raqueteLargura"/2; porém, como estamos tratando do movimento da raquete do oponente no eixo Y, temos que utilizar a altura da raquete (o professor no curso chamou de comprimento), e não a largura. Reproduzi aqui e desta forma que você fez realmente o oponente nunca erra, então acredito que o erro está aí.

A divisão da altura por 2 é só para a bolinha bater no meio da raquete; se você subtrair só a altura, sem dividir por 2, vai perceber que a bolinha bate sempre na parte de baixo da raquete. Porém, subtrair 80, igual você fez, já faz com que haja um "desencontro" entre o y da bolinha e o da raquete (se não subtraíssemos isso, o oponente nunca erraria).

Espero ter ajudado :)

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