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

Mi código no funciona

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
</head>
<body>

<input/>
<button>Verificar si acerto con el secreto</button>

<script>

function aleatorio (){
    return Math.round(Math.random()*10);
}

function sortearNumeros (cantidad){
    var secretos = [];
    var contador = 1;

    while (contador <= cantidad){
        var numeroAleatorio = aleatorio();
        var encontrado = false;
        console.log (numeroAleatorio);

if (numeroAleatorio != 0) {

    for (var i = 0; i < secretos.length; i++) {

        if (numeroAleatorio == secretos [i]) {
            encontrado = true;
            break;
        }
    }
    if (encontrado == false) {
        secretos.push (numeroAleatorio);
        contador++;
    }
    }
    return secretos;
}

    var secretos = sortearNumeros(4);
    console.log (secretos);

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

function verificar() {

    var encontrado = false;

    for (var i = 0; i < secretos.length; i++) {

        if (parseInt(input.value) == secretos[i]) {
            alert("Usted acertó");
            encontrado = true;
            break;
        }
    }

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

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


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


</script>
</body>
</html>

Hola no encuentro el error, si alguien lo encuentra se los agradecería

6 respuestas

Hola Gianfranco, no salió tu código, te dejo un video donde explica como subir código en el foro.

https://www.youtube.com/watch?v=tevEdARFxGU

Slds.

Hola gracias ya lo pude editar

Fijate en la linea 10 que tenes un /input que no corresponde

Si le saco el input el usuario no va a poder ingresar el numero

solución!

Te faltaba la llave de cierre } del while.

Siempre es importante respetar las indentaciones ya que esto ayuda a no perderse con la apertura y cierre de llaves en funciones o condicionales, etc.

Aca te dejo tu código corregido y funcionando:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
</head>
<body>

<input/>
<button>Verificar si acerto con el secreto</button>

<script>

    function aleatorio (){
        return Math.round(Math.random()*10);
    }

    function sortearNumeros (cantidad){
        var secretos = [];
        var contador = 1;

        while (contador <= cantidad){
            var numeroAleatorio = aleatorio();
            var encontrado = false;
            console.log (numeroAleatorio);

            if (numeroAleatorio != 0) {

                for (var i = 0; i < secretos.length; i++) {

                    if (numeroAleatorio == secretos [i]) {
                        encontrado = true;
                        break;
                    }
                }
                if (encontrado == false) {
                    secretos.push (numeroAleatorio);
                    contador++;
                }
            }
        }
    return secretos;
    }

    var secretos = sortearNumeros(4);
    console.log (secretos);

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

    function verificar() {

        var encontrado = false;

        for (var i = 0; i < secretos.length; i++) {

            if (parseInt(input.value) == secretos[i]) {
                alert("Usted acertó");
                encontrado = true;
                break;
            }
        }

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

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


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

</script>
</body>
</html>

Slds!

Fijate en la linea 10 donde te digo, tenes una etiqueta de cierre de un input que no va ahi, se te habra copiado y pegado por error. ademas en la linea 23 te falta cerrar el while