Oi Dacio, tudo bem?
A diferença entre parseInt(Math.random() * 3) + 1
e parseInt(Math.random() * 3 + 1)
é sutil, mas importante.
A função Math.random()
gera um número aleatório entre 0 (inclusivo) e 1 (exclusivo). Quando multiplicamos esse número por 3, o resultado será um número entre 0 (inclusivo) e 3 (exclusivo). Então, quando usamos parseInt()
, que arredonda para baixo, o resultado será 0, 1 ou 2. Adicionando 1, obtemos um número entre 1 e 3, que é o que queremos.
Por outro lado, quando usamos parseInt(Math.random() * 3 + 1)
, estamos adicionando 1 antes de arredondar para baixo. Isso significa que o resultado pode ser 1, 2, 3 ou 4, o que não é o que queremos.
Por isso, a maneira correta de gerar um número aleatório entre 1 e 3 é let numeroAleatorio1a3 = parseInt(Math.random() * 3) + 1;
.
Espero ter ajudado.
Um abraço e bons estudos.