Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Por que raqueteComprimento / 2 é necessário?

Essa função em si ainda ta meio confusa em um geral, mas a questão do raqueteComprimento/2 me pegou.

function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente }

Qual é o sentido de colocar metade da largura da raquete ao invés de so subtrair por 35? (Considerando que o raqueteComprimento é 10 e /2 fica 5)

3 respostas
solução!

Oi Lavinia. Vc est a falar do eixo y, e o comprimento neste caso é a altura da raquete. Perceba, que durante a aula, o instrutor, usa o braço como exemplo, falando do comprimento!! E divide por 2 e ainda subtrai 30 !!!!!! A largura é que é 5. Se a raquete tem 90, vc divide por 2 = 45. Então 45 - 30 = 15.

Esta é a área em que a bolinha vai fazer colisão com a raquete, o que sobra de yRaquete para colisão. Esta matemática, foi feita para que o oponente cometa erros, por isso a bolinha bate bem no canto da raquete dele. Então, mexendo na velocidade da bolinha, vc consegue pontuar. Como vc pode observar no jogo o yRaqueteOponente segue o yBolinha, se a bolinha desce a raquete desce, e vice-versa. Imagine a raquete atuando 100% em relação a bolinha, nunca iriamos fazer pontos no oponente! Por isso, foi criado essa digamos "defasagem", meio que uma maneira de "burlar" o acompanhamento da raquete com a bolinha, para que possamos fazer pontos.

Espero ter ajudado. Bons estudos!!!

Olá Romeu! Eu tinha a mesma dúvida da Lavinia. Eu entendi sua explicação, porém essa desvantagem que a gente impõe ao oponente não poderia ter sido colocada como redução de velocidade?

experimentou alterar por exemplo a velocidadeYbolinha? a bolinha começa a verticalizar e daquyi a pouco, nem vai de encontro as raquetes kkkk. Na velocidadeX, a velocidade da bolinha fica exagerado e o jogo, torna-se impraticável. pelo menos isso, é ao meu ver!! A melhor solução fica em colocar controle nas duas raquetes e jogar com as duas mãos!! Bons estudos!!