1
resposta

Não entendi o raciocínio lógico

Não compreendi o raciocínio lógico para fazer essa parte do código.

Pq foi subtraído da posição no eixo Y da bolinha: a posição no eixo Y da raquete oposta; a metade comprimento da raquete oposta; e ainda um valor aleatório de 30

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

}
1 resposta

Olá Leonardo, tudo certo? Espero que sim.

Peço desculpas pela demora em responder o seu tópico.

O funcionamento da lógica de movimentação da raquete do oponente funciona da seguinte forma:

  1. velocidadeYOponente = yBolinha , apenas nesse ponto podemos dizer que a velocidade/altura em que a raquete do oponente vai estar vai ser a mesma que a da bolinha.

  2. velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteWidth / 2 -30; , aqui vai esta na mesma altura anterior porém menos a altura da raquete que esta definida em yRaqueteOponente e a largura do mesmo dividida por dois raqueteWidth / 2 -30 . Já parte do -30 em que você comentou trata-se de uma forma de se ter em algum momento uma chance em que o oponente erre a bola e assim deixando que você posso pontuar.

  3. Por fim temos yRaqueteOponente += velocidadeYOponente onde a raquete do oponente vai estar recebendo o resultado de toda aquela lógica comentada anteriormente.

Em resumo todos aquelas variáveis dispostas yBolinha RaqueteOponente raqueteWidth servem como parâmetro para que a raquete do oponente siga a bolinha porém não sendo 100% precisa.

Caso ainda lhe restam dúvidas estou a disposição para ajuda-lo. Abraços e bons estudos!

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