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:
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.
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.
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! ✓.