*/ continuo defendendo o uso do Const, ele é mais seguro! */
const MINIMO = 1;
const MAXIMO = 100;
function sortear() {
const quantidade: number = parseInt(document.getElementById('quantidade').value, 10);
const de: number = parseInt(document.getElementById('de').value, 10);
const ate: number = parseInt(document.getElementById('ate').value, 10);
if (!validarEntrada(quantidade, de, ate)) {
exibirErro('Valores inválidos. Por favor, revise os números inseridos e refaça o sorteio.');
return;
}
const sorteados = new Set();
while (sorteados.size < quantidade) {
const numero = gerarNumeroAleatorio(de, ate);
sorteados.add(numero);
}
const resultado = document.getElementById('resultado');
resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados: ${Array.from(sorteados).join(', ')}</label>`;
alterarStatusBotaoSortear();
alterarStatusBotaoReiniciar();
}
function validarEntrada(quantidade, de, ate) {
return (
Number.isInteger(quantidade) &&
Number.isInteger(de) &&
Number.isInteger(ate) &&
quantidade > 0 &&
de >= MINIMO &&
ate <= MAXIMO &&
de < ate
);
}
function exibirErro(mensagem) {
const erro = document.getElementById('erro');
erro.textContent = mensagem;
erro.classList.remove('escondido');
}
function gerarNumeroAleatorio(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}