Oi João!
Entendi sua sugestão e ela faz bastante sentido. A ideia é garantir que a quantidade de números a serem sorteados seja sempre menor que o intervalo disponível, evitando assim a previsibilidade e o loop infinito que você mencionou.
No seu código, você propôs a seguinte verificação:
else if (quantidade >= ate - 1){
alert('A quantidade deve ser menor que o intervalo escolhido');
return;
}
No entanto, a fórmula que você mencionou, ate - de + 1
, é importante para calcular o total de números no intervalo, e não apenas ate - 1
. Por exemplo, se você tem um intervalo de 10 a 13, o total de números é 4 (10, 11, 12, 13), então a condição correta seria:
else if (quantidade >= (ate - de + 1)){
alert('A quantidade deve ser menor que o intervalo escolhido');
return;
}
Dessa forma, você está garantindo que a quantidade de números a serem sorteados seja sempre menor que o total de números disponíveis no intervalo, evitando assim problemas no sorteio.
Espero ter ajudado e bons estudos!