Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Sigue repitiendo los números

Utilizo Edge como compilador y el código aun así sigue generando números repetidos agradezco su ayuda.

<html>
    <meta charset="utf-8">

    <h1>Secreto</h1>
    <input>
    <button>Da click</button>


    <script>

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

        function generador(){

            return Math.round(Math.random()*10);
        }

        function sorteoNumeros(cantidad){

            var secretos = [];

            var contador = 1;

            while(contador <= cantidad){

                var numeroAleatorio = generador();

                console.log(numeroAleatorio);

                var encontrado = false;

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

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

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

            }

            return secretos;
        }

        console.log(secretos);

        var secretos = sorteoNumeros(4);

        function verificar(){

            var encontrado = false;

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

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

                    alert("Felicidades acertaste");

                    encontrado = true;

                    break;
                }

            }

            if(encontrado == false){

                alert("Sigue intentando");
            }

            input.focus();

            input.value = "";

        }

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

    </script> 
</body>
</html>
2 respuestas

Acabe de encontrar el error, era simplemente semántico.

hola cual era el error? a mi me pasa lo mismo:

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

}

function sortearNumeros(cantidad) {

var secretos = [];
var contador = 1;

while (contador <=cantidad) {

    numeroAleatorio = aleatorio();
    console.log(numeroAleatorio)
    var encontrado = false;

    if (numeroAleatorio != 0) {


        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);