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)
4
respuestas

Por que mi condicion no esta funcionando?

Por que si mi condicion dice que si encontrado es diferente a 0 se ejecute, pero aun siendo 0 lo ejecuta?

        let numeroMaximo = +prompt("Numero maximo para sorteo")
        let cantidadNumeroAcierto = +prompt("Cuantos numeros para acertar deseas?")
        let secreto = numeroAcierto(cantidadNumeroAcierto, numeroMaximo);

        let input = document.querySelector("input");
        let boton = document.querySelector("button");
        input.focus();
        boton.onclick = verificar;

        function numeroAcierto(cantidadNumero, numeroMaximoRondeo) {
            let secreto = [];
            let i = 1;

            while (i <= cantidadNumero) {
                let encontrado = false
                let numeroAleatoreo = Math.round(Math.random() * numeroMaximoRondeo)

                //aqui tengo el problema
                if (numeroAleatoreo !== 0) {

                    for (let posicion = 0; posicion <= secreto.length; ++posicion) {

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

                }

                if (encontrado == false) {
                    secreto.push(numeroAleatoreo)
                    i++
                }
            }

            return secreto;
        }

        function verificar() {
            let acerto = false;

            for (let posicion = 0; posicion < secreto.length; posicion++) {

                if (+input.value === secreto[posicion]) {
                    alert('Usted acerto!');
                    acerto = true;
                    break;

                }
            }

            if (acerto === false) {
                alert('No acertaste!');

            }

            input.value = '';
            input.focus();
        }
4 respuestas

Corrígeme por si entendí mal:

¿Deseas que "0" cero, quede excluído como elemento de tu arreglo?

Saludos !

Exactamente disculpa que no haya aclarado correctamente

solución!

Hola Axell, el problema esta en que el if de la linea 31, se encuentra fuera del if de la linea 19. Tu codigo comprueba que el numero sea distinto de 0, solo para buscarlo dentro de secreto, pero no se fija que sea distinto de 0 para agregarlo a la lista

El problema esta en que el if de la linea 31 porque se encuentra fuera del if del 19.