1
resposta

Não entendi a linha de raciocínio para a raquete do oponenet

Olá a todos, espero que estejam bem. Fiquei com dúvida durante o curso de Lógica da programação: Jogo do Pong no JS. Quando devo escrever a velocidade da raquete do oponente devo usar a seguinte linha : function movimentaRaqueteOponente(){ velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente }

mas eu não enetndi porque devo subtrair o comprimento da raquete divido por 2 e depois subtrair 30.

1 resposta

Olá, Gabriel! Espero que esteja tudo bem com você.

Na função movimentaRaqueteOponente(), a linha de código velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; é responsável por calcular a velocidade da raquete do oponente.

Vamos analisar cada parte dessa expressão:

  • yBolinha representa a posição vertical da bolinha no jogo.
  • yRaqueteOponente representa a posição vertical da raquete do oponente.
  • raqueteComprimento é o comprimento da raquete do oponente.

Ao subtrair yRaqueteOponente de yBolinha, estamos calculando a distância entre a bolinha e a raquete do oponente. Essa diferença será utilizada para definir a velocidade da raquete.

Agora, vamos entender o motivo de subtrair raqueteComprimento / 2 e 30:

  • raqueteComprimento / 2 é subtraído para ajustar a posição do cálculo em relação ao centro da raquete. Isso é necessário porque o cálculo é feito a partir da extremidade superior da raquete, e não do centro.
  • 30 é subtraído para adicionar uma margem de segurança. Essa margem permite que a raquete do oponente se mova um pouco além da posição exata da bolinha, evitando que a raquete fique "colada" à bolinha e torne o jogo mais desafiador.

Esses valores foram escolhidos com base no contexto do jogo e podem variar dependendo das configurações e das preferências do desenvolvedor.

Espero ter ajudado. Fico à disposição!

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!