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

Meu programa trava depois de apertar o botão

Olá, o meu código trava toda vez que aperto o botão e não identifica o se o usuário acertou ou errou.Porém não consegui encontrar o que tem de errado, alguém pode me ajudar?

PS: O console não exibe nenhuma mensagem de erro.

<meta charset="UTF-8">

<input>
<button>Veja se você acertou</button>

<script>

    function sorteia(chances) {

        var sorteio = [];
        var numero = 1;

        while (numero<=chances) {

            var numeroAleatorio = Math.round(Math.random()*10);
            var igual = false;

            for (var posicao=0; posicao<chances; posicao++) {
                if (numero==sorteio[posicao]) {

                    igual=true;
                    break;
                }
            }
            if (igual=false) {

                sorteio.push(numero);
                numero++
            }
        }
        return sorteio;
    }


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

    function verifica() {

        var sorteio = sorteia(3);
        console.log(sorteio);

        input.focus();

        var acertou = false;

        for (var numero = 0; numero < sorteio.length; numero++) {

            if (sorteio[numero]==input.value) {

                alert("Parabéns! Você acertou!");
                acertou=true;
                break;
            }
        }

        if (acertou==false) {

            alert("Você errou");
        }
    }

    input.value=""

    var botao = document.querySelector("button");
    botao.onclick=verifica;

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

</script>
3 respostas
solução!

Fala Lorena, Tudo bem?

Olhei teu código e notei que em um bloco if você não está realizando a comparação e sim um movimento de atribuição.

Lembrar que sempre que for comparar um valor com o outro devemos utilizar o '==' ou '===' para estritamente igual. Usar apenas um '=' é movimento de atribuição de valor.

Faz a substituição do teu if por esse bloco abaixo, ou apenas inclui mais 1 '=' no teu próprio código que irá funcionar.

            if (igual == false) {

                sorteio.push(numero);
                numero++
            }

Oi, tudo bem. E você?

Funcionou, muito obrigada e desculpe a minha falta de atenção.

Lorena,

Sem problemas... estamos aqui para nos ajudar.

Com a prática você vai conseguir visualizar mais fácil esse tipo de ocorrência.