2
respostas

A raquete do oponente fica tremendo

function movimentaRaqueteOponente(){ yRaqueteOponente += yBolinha - yRaqueteOponente - alturaRaquete/2 - Math.floor(Math.random() * 20); }

Com o Math.floor(Math.random() * 20), eu quero que sorteie um número de 0 a 20, porém deu um bug que a raquete do oponente fica tremendo.

2 respostas

Olá, Luidi! Tudo bem?

Você poderia compartilhar o link do seu projeto? O problema pode ser até em outra parte do código, mas suspeito que o problema esteja no arredondamento do Math.floor.

Fico no aguardo. Bons estudos!

O problema deve ser o random estar em loop. Você tem que condicionar ele, por exemplo:

let numeroAleatorio;

function movimentaRaqueteOponente(){

    if( yBolinha - raioBolinha < 0 ){ numeroAleatorio = Math.floor(Math.random() * 20)
    }  // Somente quando a bolinha tocar na parte de cima gera uma nova chance de erro


yRaqueteOponente += yBolinha - yRaqueteOponente - alturaRaquete/2 - numeroAleatorio); 
}