1
resposta

Duvida em um trecho de código

function movimentaRaqueteOponente(){ const mediaYBolinha = yBolinha + raio; const mediaYRaqueteOponente = yRaqueteOponente + (raqueteAltura/2);

if (mediaYBolinha > mediaYRaqueteOponente) { direcaoRaqueteOponente = 1; } else { direcaoRaqueteOponente = -1; } yRaqueteOponente += 6 * random(0.55, 0.95) * direcaoRaqueteOponente; }

Duvida: O comando random(0.55, 0.95) sorteia um valor toda vez que essa função é chamada? Então quando é chamada essa função é executada a movimentação da raquete, por exemplo, 4.2 então a raquete irá se movimentar para cima ou para baixo 4.2 e a raquete irá ficar parada depois de executar esta função? Só que não percebemos a raquete ficar parada porque logo em seguida(em milésimos de segundos) essa função é chamada de novo e um novo valor é adicionado ao movimento?

1 resposta

Olá, Luidi! Tudo bem?

Você tem razão, o Math.random() é um método que trabalha com pseudoaleatoriedade em JavaScript e gera um número todas as vezes que é chamado. O processo é esse mesmo que você descreveu:

  1. gera o número
  2. atribui o comportamento
  3. reinicia o processo

Vou deixar um link para um artigo que é excelente e aborda o tema: Math.random e números pseudoaleadorios

Continue com foco nos estudos!

Fico à disposição. Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software