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

Repetición de números aleatorios. ayuda!!!

<meta charset="UTF-8">


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

<script>

    function aleatorio() {

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

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

        if(numeroAleatorio!=0){


         while (contador <= cantidad) {
            var numeroAleatorio = aleatorio();
            console.log(numeroAleatorio)
            var encontrado = false;
            for (var posicion = 0; posicion < secreto.lenght; posicion++) { 

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

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

            }


        }


         return secreto

    }

    var secretos = sortearNumeros(4);

    console.log(secretos);


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

    function verificar() {

        var encontrado = false;

        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 no Acerto");

        }            

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

    }

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



</script>
8 respuestas

Hola Jorge, puedes indicar o mostrar el error?

te refieres a que se siguen incluyendo en el arreglo, numero repetidos?

Hola . Perdón si, en el array me sigue tirando números repetidos. intente cambiar el" if (numeroAleatorio !=0) dentro del while antes del primer for," y aún así se siguen repitiendo.

adjunto el cambio que realicé.

<meta charset="UTF-8">


<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.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 < secretos.length; posicion++){

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

                alert("Usted Acerto");
                encontrado = true;
                break;

            }            

        }

        if(encontrado== false){

        alert("Usted no Acerto");

        }            

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

    }

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



</script>

Jorge, prueba reordenando el codigo.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Lo ordene un poco pero el problema persiste. Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

solución!

debe de ser secretos.length en lugar de secretos.lenght Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Muchísimas gracias a Todos. no se si estoy agotado per lo buque por horas. te abrazaría. .