function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - comprimentoRaquete / 2 - 30; yRaqueteOponente += velocidadeYOponente.
Eu não entendi a subtração do yRaqueteOponente
function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - comprimentoRaquete / 2 - 30; yRaqueteOponente += velocidadeYOponente.
Eu não entendi a subtração do yRaqueteOponente
Olá, Stephanie, esses valores são "aleatórios", utilizados para tentar criar uma diferença entre a posição y da bolinha e a posição y da raquete e, assim, aumentar a probabilidade do jogador marcar pontos (fazendo com que a bolinha possa também tocar a borda e não a raquete do oponente sempre).
Poderiam ter sido colocados quaisquer outros valores. Se você quiser, pode testar.
Mas, para que se estabelecesse uma lógica e um critério na escolha dos valores utilizados, o instrutor aproveitou as variáveis já existentes no código, relacionados à posição da bolinha e da raquete e, assim, gerar um valor que definisse uma velocidade para a raquete do oponente se movimentar.
Espero ter contribuído. Bons estudos!
Obrigada Leila!
Então,
Com uma função muito mais simples consegui fazer o que o professor fez no vídeo:
function movimentaOponenteRaquete(){
yOponenteRaquete = yBolinha - alturaRaquete/2;
}
Com esse código a raquete seguia a bolinha.
Eu senti que o - 30 do código do professor era mais para dar um desconto de onde a bolinha iria bater na raquete, pq no final a raquete segue exatamente a posição do y da bolinha.
Eu criei um random para por no lugar do -30 para quando gerasse um número específico o oponente erraria.
let erroOponente = Math.round(Math.random()*170);
function movimentaOponenteRaquete2(){
yOponenteRaquete = (yBolinha+40)-erro;
}
Consegui fazer com que gerasse um número para determinar se a raquete vai pegar ou não a bolinha.
O ideal seria que a cada jogada fosse gerado um novo valor para a variável erroOponente e assim seria determinado se a raquete ia pegar ou não na bolinha.
O problema é que eu não consegui fazer com que tempos em tempos seja gerado outros valores para a variável erro. Não sei porquê o SetInterval não funcionou no P5 como acontece no Sublime.
Espeto ter ajudado. Sucesso na sua jornada!!