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

Jogo adivinha - não aparece mensagem de erro quando erro

A mensagem de acerto aparece normal quando acerto o número, mas quando erro ele não aparece mensagem nenhuma. Alguém me ajuda a entender :D

A partir das functions de sorteio até o final...

function sorteia (){
        return Math.round(Math.random()*10);
    }
    function sorteiaNumeros(quantidade){
        var segredos = [];
        var numero = 1;

        while (numero <= quantidade) {
            segredos.push(sorteia());
            numero++;
        }
        return segredos;
    }
    var segredos = sorteiaNumeros(3);
    console.log(segredos);

    var input = document.querySelector("input"); //pegar o que está na tag input no html
    input.focus(); //chamada para digitar, piscando para usuario digitar

    function check(){

        var test = false;

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

            if (input.value == segredos[position]){
                alert("você acertou!");
                test = true;
                break;
            }
        }

        if(test = false){
            alert("você errou!!!");
        }

        input.value = ""; //limpa caixa de texto
        input.focus();

    }

    var button = document.querySelector("button");
    button.onclick = check; //associar clique do botão a uma função
2 respostas
solução!

Olá, Giulia!

Isso está ocorrendo pois você está se equivocando na sintaxe do operador de comparação.

  • Quando estamos querendo saber se alguma coisa é igual à outra, usamos o operador de comparação (==);
  • Do jeito que você declarou (test = false), está atribuindo o valor false à variável test.

Basta fazer assim:

if(test == false){
        alert("você errou!!!");
}

Espero ter ajudado!

Boa sorte em seus estudos!

Obrigada!! Era isso mesmo Mateus! Ajudou sim, valeu :)