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

Solución para que no aparezca el 0.

<meta charset="UTF-8">

<input/>

<button>Verificar</button>


<script>

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

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

        while(contador <= cantidad){
            var numeroAleatorio= aleatorio();
            var encontrado= false;
            console.log("Número aleatorio en inicio del ciclo: " + numeroAleatorio);


            // Agrego una condición WHILE para cambiar el número en el caso de que sea igual a 0.

            while(numeroAleatorio == 0){
                console.log("Entró al While porque numeroAleatorio = 0")
                numeroAleatorio= aleatorio();
                console.log("Dentro del while se generará otro numeroAleatorio diferente de 0 para salir del ciclo. Reemplazado por: " + numeroAleatorio);
            }

            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 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("Acertó");
                encontrado= true;
                break;
                }

        }
        if(encontrado == false) {
                alert("Erró");
        }
        input.value= "";
        input.focus();
    }

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


</script>
3 respuestas

Se debe utilizar una condición donde se ejecute una instrucción siempre y cuando sea distinto a 0. Por ejemplo

if (numeroAleatorio != 0){

 ACA LA INSTRUCCIÓN QUE DESEAS SE REALICE

}

Tal cual, ésa es otra forma. Hay mas de una manera de hacer las cosas para llegar al mismo resultado. Saludos. En mi caso yo he utilizado:

        while(numeroAleatorio == 0){
            numeroAleatorio= aleatorio();
            }

Recién activé el código en la primer parte del post. Antes no me había aparecido.