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

Ainda gera número repetido.

<meta charset="utf-8">

<input>
<button>Compare com o meu segredo</button>

<script>

    function sorteia() {

        return Math.round(Math.random() * 10);
    }

    function sorteiaNumeros(quantidade) {

        var segredos = [];

        var numero = 1;

        while(numero <= quantidade) {

            var numeroAleatorio = sorteia();

            if(numeroAleatorio !== 0) {

                var achou = false;

                for(posicao = 0; posicao < segredos.length; posicao++) {

                    if(segredos[posicao] == numeroAleatorio) {
                        achou == true;
                        break;
                    }

                }

                if(achou == false) {
                    segredos.push(numeroAleatorio);
                    numero++;
                }

            }


        }

        return segredos;
    }

    var segredos = sorteiaNumeros(5);

    console.log(segredos);

    var input = document.querySelector("input");
    input.focus();

    function verifica() {

        var achou = false;

        for(var posicao = 0; posicao < segredos.length; posicao++){

            if(input.value == segredos[posicao]) {

            alert("Acertou di novo miserávi!");
            achou = true;
            break;
            }

        }

        if(achou == false) {

            alert("Você errou!")
        }

        input.value = "";
        input.focus();

    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>

//queria saber porque meu código não evita que números repetidos sejam gerados.  Também gostaria de saber porque a variável boleana achou recebe sinal de recebe (=) e dentro do if, recebe sinal de igual (==).
2 respostas

Oi Renato, clica no botão INSERIR CÓDIGO e move seu código para dentro do espaço que surgir, não dá para ler o seu código.

solução!

Boa noite Renato, o sinal de (=) é para receber um valor, por exemplo uma variável.

var x = 10; // Está recebendo 10 a variavel 'x'

Obs: (+), (-), (/), (*), (=) = ARITMÉTICO

O sinal de (==) é para comparação, para uso no IF por exemplo.

if (a == 1) { // Se 'a' for igual a '1'
}

Obs: (<), (>), (==) = COMPARAÇÃO