1
resposta

[Projeto] Projeto Completo.

Segue o código do meu projeto. Eu fui fazendo a implementação de cada parte no meu GitHub, utilizando os comandos no terminal. Consegui ir sincronizando a evolução da cada parte da implementação por meio dos commit comentados.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

function sortear () {
    let quantidade = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);

// teste de proteção de entrada de dados.
    if(ate < de || ate == de){
        alert('Informe valores corretos');
        reiniciar();
    }
// teste de proteção de entrada de dados.
    let sorteados = [];
    let numero;
// proteção para looping infinito na quantidade do array possível dos números selecionados
if (quantidade > (ate - de + 1)) {
    alert('Campo "Quantidade" deve ser menor ou igual ao intervalo informado no campo "Do número" até o campo "Até o número". Verifique!');
    return;
  }
// proteção para looping infinito na quantidade do array possível dos números selecionados

    for (let i = 0; i<quantidade; i++){
        numero = obterNumeroAleatorio(de, ate);
        sorteados.push(numero);
        while(sorteados.includes(numero))
        {
            numero = obterNumeroAleatorio(de, ate);
        }
    }
    let resultado = document.getElementById('resultado');
    resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados:${sorteados}</label>`
    alterarStatusBotao();
}

function obterNumeroAleatorio (min, max) {
    //min = Math.ceil(min);  Não precisa.
    //max = Math.floor(max); Não precisa.
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function alterarStatusBotao()
{
    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 reiniciar()
{
    document.getElementById('quantidade').value = '';
    document.getElementById('de').value = '';
    document.getElementById('ate').value = '';
    document.getElementById('resultado').innerHTML = '<label class="texto__paragrafo">Números sorteados:  nenhum até agora</label>';
    alterarStatusBotao();
}
1 resposta

Olá, Geovani! Tudo bem?

Parabéns pela conclusão do projeto e, principalmente, por já usar Git e GitHub desde o início. Isso mostra bastante cuidado com a organização do código.

A estrutura geral ficou muito boa, e você pensou bem nas validações do intervalo e da quantidade de números. Esse tipo de atenção evita vários problemas comuns.

Ótimo trabalho e excelente iniciativa em cuidar tanto da estrutura quanto do versionamento.

Bons estudos!

Sucesso

Imagem da comunidade