Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Tengo una duda

no seguí el paso a paso del maestro aplicando unos conocimientos previos de Js, el codigo corre, pero solo me genera como acertado el numero 3, los siguientes ya salen como errados, si me pueden dar un poco de feedback lo agradecería.

<meta charset="UTF-8">

<h1>Secret Game</h1>

<input type="text">
<button>Verificar si acertó </button>

<script>

    function saltarLinea() {
        document.write("<br>");
        document.write("<br>");
        document.write("<br>");
        document.write("<hr>");
    }

    function imprimir(frase) {
        document.write("<big>" + frase + "</big>");
        saltarLinea();
    }

    let secrets = [3,6,9,7];


    let input = document.querySelector("input");
    let button = document.querySelector("button");
    input.focus();

    eventListener();
    function eventListener(){
        button.addEventListener("click", verificar);

    }

    function verificar(){

        let encontrado = false;

        for(let position = 0; position < secrets.length; position++){

            if(parseInt(input.value) === secrets[position]){
            alert("Usted acerto");
            break;
        }

        if(encontrado === false) {
            alert("Usted erró");
            break;
        }

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

        }
    }


</script>
2 respuestas
solución!

Eso pasa porque le das de entrada a (encontrado == false) por ello, cuando ingresas 6, no entra al primer if, pasa al segundo if en el que preguntas si (encontrado == false) (la cual siempre se cumplirá, por la inicialización) y te dá el mensaje de que erró y ejecuta el break, terminando el programa.

En el primer "if" te falto poner "encontrado=false" después del "alert"