1
resposta

Alguém me explica esta formula?

Nosso amigo Leandro, compartilhou a solução dele para o problema da raquete do oponente que não nos deixa fazer pontos. Dessa forma tornou possível pontuar ao final do jogo. Porém pessoal, eu não sou muito bom de matemática e não estou entendo o motivo desta formula funcionar.

function movRaqOp(){
  velRaqOp = yBolinha - yRaqOp - altRaq/2;
  yRaqOp += velRaqOp*.12;
}

Por exemplo, por que usamos "yBolinha - yRaqOp - AltRaq /2;" ao invés de velocidadeRaqOp = yBolinha (tipo direto?) não entendo porque subtraímos e ainda por cima dividimos por 2.

Valeu!!!

1 resposta

Fala, Gabriel! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Gostei da dúvida, porém gostaria de ver toda a estrutura, pois seu eu condisiderar diretamente como citou, o cálculo acaba não batendo e raquete não aparece.

Sem contar que da forma inicial que postou, a bolinha deve bater somente na borda superior correto? Dessa forma ainda é adicionado 30 para que a bolinha bata no meio da raquete.

Veja abaixo

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

Agora uma outra lógica seria retirarmos a divisão e subtrairmos direto por 30

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

Vai ter o mesmo resultado escrevendo menos!

Para que possa entender o que ocorre, vá incrementando cada passo e testando!

Acho que fará mais sentido!

Espero ter ajudado, Gabriel!

Um abraço