Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

JuegoSecreto

Hola, gracias todos sus comentarios en el foro. Estuve buscando por si alguien tenía mi error, pero no encontré nada, así que vengo por aquí con mis dudas. 1-La consola de Chrome me arroja el siguiente error en la etiqueta de cierre del script: "Uncaught SyntaxError: Unexpected end of input". La tengo cerrada así: La abertura esta ok. Probé a correr la barra al final, tal como sucede con el botón , y el error desaparece, pero el Subline me lo marca como un texto cualquiera por lo que, estoy seguro que no lo estoy solucionando.

2-Mi código no arranca. Lo tengo bien, comparado con el video de las clases y con el de muchos compañeros y compañeras que compartieron el suyo, pero cuando lo quiero ver en consola no veo el array generado, supongo que es una derivación del mismo problema.

Gracias por leerme! Va mi código:

JUEGO SECRETO

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

<script>

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

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

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

    if (numeroAleatorio!=0){
        for (var posicion = 0; posicion < secretos.length; posicion++) {
            if (numeroAleatorio==secretos[posicion]){
                encontrado=true;
                break;
                }
            }

            if (encontrado==false){
                secretos.push(numeroAleatorio);
                contador ++;
            }

        }

    }
    return secretos;
    }

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

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

    function verificar(){


        for (var posicion = 0; posicion<secretos.length; posicion++) {
             if (parseInt(input.value) == secretos[posicion]) {
                alert("USTED ACERTO");
                encontrado = true;
                break;
            }


            if (encontrado == false) {
            alert("USTED ERRO");                
            }


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

    }

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

</script>
1 respuesta

Hola Martin, como estás?

Este error "Uncaught SyntaxError: Unexpected end of input" nos pasa cuándo nos olvidamos de cerrar un bucle, en tu caso te olvidastes de cerrar tu bucle for.

<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();
    console.log(numeroAleatorio);
    var encontrado=false;

    if (numeroAleatorio!=0){
        for (var posicion = 0; posicion < secretos.length; posicion++) {
            if (numeroAleatorio==secretos[posicion]){
                encontrado=true;
                break;
                }
            }

            if (encontrado==false){
                secretos.push(numeroAleatorio);
                contador ++;
            }

        }

    }
    return secretos;
    }

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

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

    function verificar(){


        for (var posicion = 0; posicion<secretos.length; posicion++) {
             if (parseInt(input.value) == secretos[posicion]) {
                alert("USTED ACERTO");
                encontrado = true;
                break;
            }


            if (encontrado == false) {
            alert("USTED ERRO");                
            }
        }


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

    }

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

</script>

Tenía un otro problema en tu código, porque escribiste de manera incorrecta tu Math.random

Espero haberte ayudado!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios