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

Apesar de ter feito igual da aula, o código continua dando a mensagem errou.

<meta charset="UTF-8">

<input />
<button>Advinhar o número</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 (var posicao=0;posicao<segredos.length;posicao++) {
                if (numeroAleatorio== segredos[posicao]) {
                    achou = true;
                    break;
                }
            }

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

}

var segredos = sorteiaNumeros(3);
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 ("Você acertou");
           achou = true;
           break;
        }
        if (achou == false){
            alert ("Você errou");
        }

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

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


</script>
2 respostas
solução!

Oi Marcia, na sua função verifica você colocou o

if (achou == false) dentro do for.

Corrigindo:

function verifica () {
    var achou = false;
    for (var posicao = 0; posicao < segredos.length ; posicao++) {
        if (input.value==segredos[posicao]) {
           alert ("Você acertou");
           achou = true;
           break;
        }
    }
    if (achou == false){
        alert ("Você errou");
    }

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

}

Oi Márcia.

Tente o que a Vânia disse e depois nos diga se deu certo.