1
resposta

não entendi como funciona a função do movimento da raquete oponente

alguém pode me explicar por favor como funciona essa função? Tranquei na parte das subtrações

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

Pelo pouco que entendi:

De forma bem sucinta, esta função faz um cálculo simples pra informar que a velocidade de movimento no eixo Y da raquete do oponente é igual à posição atual do eixo-Y do centro da bolinha, menos a posição do eixo-Y da raquete do oponente, menos o comprimento da raquete dividido por dois ( pra pegar bem no centro da raquete do oponente. Esse "-30" é um fator a mais, pra que o oponente "erre" ocasionalmente. Se não, ele nunca iria errar.

A segunda linha da função está incrementando o eixo-Y da raquete do oponente, baseado na velocidade do eixo-Y da raquete do oponente.

Em miúdos, isso tudo é só pra raquete do oponente "seguir" o sobe e desce da bolinha. Se não for isso, me corrijam.

O meu código ficou assim:

function moveRaquetePC(x){
 velocidadeYRaquetePC = yBola - yRaquetePC - comprimentoRaquete /2 -x;
  yRaquetePC += velocidadeYRaquetePC;
  yRaquetePC = constrain(yRaquetePC,20,485); // limita o movimento para que a raquete não deixe a tela.
}

Dei uma fuçada na referência e achei esse Constrain, utilizei ele pra impedir que as raquetes 'fugissem' da tela. Caso queira dar uma olhada no código inteiro:

https://editor.p5js.org/wmuzitanont/sketches/k5Zz_VrAd