Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
7
respuestas

[Duda] Ayuda¡¡¡ siguen saliendo repetidos mis números aleatorios y no puedo darme cuenta el porque...

7 respuestas

Puedes mandar tu código para checarlo

Es la primera vez que consulto algo en el foro, estoy intentando subir mi código pero directamente me muestra la pagina html

solución!

Puedes seleccionar tu código en sublimetext, después copiarlo y dentro de la sección para escribir aquí en el foro hay un botón con este símbolo "</>", le da click y ahi pega el código que copio

<meta charset="UTF-8">

<input/>

<button> verificar si acertó 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;
            for (var posicion = 0; posicion < secretos.lenght; 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 input = document.querySelector("input");
    input.focus();

    function verificar(){

        var encontrado = false;

        for (var posicion = 0; posicion < 4; posicion++) {

            if(parseInt(input.value) == secretos[posicion]){

            alert("ústed acertó");
            encontrado = true;
            break;
           }
        }

        if (encontrado == false){

            alert("ústed erró");
        }    

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

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

</script>

Encontre el error, solo es un problema con la escritura

Asi es como lo tenias escrito

for (var posicion = 0; posicion < secretos.lenght; posicion++){

                if (numeroAleatorio == secretos[posicion]){
                    encontrado = true;
                    break;
                }
            }

El parametro de length esta mal escrito

for (var posicion = 0; posicion < secretos.length; posicion++){ //habia un error al escribir length, tenias "lenght"

                    if (numeroAleatorio == secretos[posicion]){
                        encontrado = true;
                        break;
                    }
                }

Cambiar el orden de las letras deberia solucionar el problema

Excelente Eduardo, muchísimas gracias, hacia bastante que estaba dando vueltas con el mismo ejercicio.