Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Projeto] Mão na massa: proteção no total de números sorteados

Fiz da seguinte forma:


    let numero = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);
    
    let diferenca = ate-numero+1; 
    

A variável diferenca fazia a subtração do máximo com mínimo e adicionava 1, pois devo contar com o número máximo ou mínimo, ou seja, Se meu máximo é 10 e meu mínimo é 5, daria uma diferença de 5 mas ao gerar a lista eu tenho 6 possibilidades (5,6,7,8,9,10).


    if(numero>diferenca || de >= ate){
        alert("Revise os campos")
        reiniciar();
        return;
    }
    

Aqui eu faço a proteção para a quantidade não ser maior que a diferenca e para que o de não ser maior que ate. Está correto?

3 respostas

Muito bem!

Não entendi exatamente o numero > diferenca, acredito que quis dizer diferença < 0, mas se estou errado, poderia explicar?

Além disso, tenho duas sugestões para próximos códigos:

Caso você não vá mudar o valor das variáveis, é uma boa prática utilizar const ao invés de let.

Tente se atentar ao estilo do seu código.

Se você usa aspas simples, deve usá-las em todo lugar do código. Se usa aspas duplas, deve usá-las em todo lugar do código.

Se você termina seus comandos com ; termine todos com ; se não termina, não termine nenhuma.

Parece besteira, mas quando estiver mais na frente, essa questão de estilo de código vai se mostrar importante.

De resto, parabéns! O código está muito bom!

Então, o projeto é sortear uma quantidade X de números (estabelecido pela variável "quantidade)" entre um número mínimo e máximo (estabelecido pela variável "de" e "ate") sendo assim, se peço um para sortear uma quantia de números entre esse intervalo, ele não deve deixar sortear uma quantia maior que o número de índices contidos entre eles, entende? Se peço para sortear entre 1 e 5, possuo 6 índices (1,2,3,4,5 e 6), portanto, se não pode repetir números, não pode-se sortear 7 ou mais. A variável "diferenca" basicamente vai contar quantos indíces tem entre o mínimo e o máximo, sendo assim, é por isso a condição do if onde "quantidade" não pode ser maior que "diferenca". Não se ficou claro mas se tiver outra visão, pode me falar por gentileza.

Quanto ao uso do diferente tipo de variável, muito obrigado pelo toque, nas aulas é passado apenas o uso de LET até agora, sabia haver a VAR e CONST, né. Mas não tinha ido atrás de ver a diferença de uso entre elas, agora vou, obrigado.

Para os demais, muito obrigado pelo feedback.

solução!

Ah, agora entendi. Muito bem estruturado, João, parabéns!