Olá, quando iamos sortear 5 números de 1 a 4, por exempl,o o código bugava e tratava por causa da condicional de números distintos, tentei resolver, agora quando a quantidade de números é menor que o intervalo aparece um alert, no entanto quando coloco 5 números de 1 a 5 ele também aparece o alert que não foi possível gerar números distintos, como resolver isso.
function sortear() { let quantidade = parseInt(document.getElementById('quantidade').value); let de = parseInt(document.getElementById('de').value); let ate = parseInt(document.getElementById('ate').value); let sorteados = [];
let tentativas = 0;
while (sorteados.length < quantidade && tentativas < quantidade) {
let numero = sorteador(de, ate);
if (!sorteados.includes(numero)) {
sorteados.push(numero);
}
tentativas++;
}
if (sorteados.length < quantidade) {
alert(`Não foi possível sortear ${quantidade} números distintos no intervalo de ${de} a ${ate}.`);
exibirReiniciar();
reiniciarSorteador();
} else {
exibirTextoNaTela(sorteados);
exibirReiniciar();
}
}
function sorteador(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }
function exibirTextoNaTela(sorteados) {
let resultado = document.getElementById('resultado');
resultado.innerHTML = <label class="texto__paragrafo">Números sorteados: ${sorteados}</label>
;
}
function exibirReiniciar(){ let botao = document.getElementById('btn-reiniciar'); if (botao.classList.contains('container__botao-desabilitado')){ botao.classList.remove('container__botao-desabilitado'); botao.classList.add('container__botao'); } else { botao.classList.remove('container__botao'); botao.classList.add('container__botao-desabilitado'); } }
function reiniciarSorteador(){ document.getElementById('quantidade').value = ''; document.getElementById('de').value = ''; document.getElementById('ate').value= ''; document.getElementById('resultado').innerHTML = '' exibirReiniciar(); }