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

[Duda] error en el codigo.

si alguien podra ayudarme siguiendo las clases video a video me empieza a fallar el codigo y no logro dar con la falla.
let numeroSecreto = 0;

let intentos = 0; let listaNumerosSorteados = [];

function asignarTextoElemento(elemento, texto){ let elementoHTML = document.querySelector(elemento); elementoHTML.innerHTML = texto; return;

}

function verificarIntento() { let numeroDeUsuario = parseInt(document.getElementById('valorUsuario').value); console.log(intentos);

if(numeroDeUsuario === numeroSecreto){
    asignarTextoElemento('p', `Acertaste el numero en ${intentos} ${(intentos === 1) ? 'vez' : 'veces'}`);
    document.getElementById('reiniciar').removeAttribute('disabled')
}else{
    //El usuario no acerto
    if(numeroDeUsuario > numeroSecreto){
        asignarTextoElemento('p', 'El numero secreto es menor');
    }else{
        asignarTextoElemento('p', 'El numero secreto es mayor');
    }
    intentos++;
    limpiarCaja();
}
return;

}

function limpiarCaja(){ document.querySelector('#valorUsuario').value = '';

}

function generarNumeroSecreto() { let numeroGenerado = Math.floor(Math.random()*10)+1

console.log(numeroGenerado); console.log(listaNumerosSorteados); }

//si el numero generado esta incluido en la lista if(listaNumerosSorteados.includes(numeroGenerado)){ return generarNumeroSecreto();

}else{ listaNumerosSorteados.push(numeroGenerado); return numeroGenerado; } function condicionesIniciales() { asignarTextoElemento('h1', 'Juego del numero secreto!'); asignarTextoElemento('p', 'Indica un numero del 1 al 100'); numeroSecreto = generarNumeroSecreto(); intentos = 1;

}

function reiniciarJuego() {
    //limpiar caja
    limpiarCaja();
    //indicar mensaje de intervalo de numeros
    condicionesIniciales();
    //generar el numero aleatorio        
    //Inicializar el numero de intentos        
     //deshabilitar el boton de nuevo juego
     document.querySelector('#reiniciar').setAttribute('disabled', 'true');
    
    
}
  condicionesIniciales();
2 respuestas

¡Hola Daniela, espero que estés bien!

Después de revisar tu código y el contexto de la lección, parece que el problema puede estar en la función generarNumeroSecreto. Es importante tener en cuenta que la lógica de la recursividad debe ser cuidadosamente manejada para evitar ciclos infinitos.

Una posible solución sería agregar una condición de salida para la recursividad, de modo que si se intenta generar un número secreto muchas veces sin éxito, el programa pueda salir de la recursión y manejar esa situación de manera adecuada.

Además, parece que la lógica de verificación de si el número ya ha sido sorteado puede no estar funcionando correctamente. Es posible que necesites revisar la implementación de la función generarNumeroSecreto y la forma en que manejas la lista de números sorteados.

Te sugiero que revises detenidamente la lógica de tu función generarNumeroSecreto y te asegures de tener una condición de salida adecuada para la recursividad. También verifica que la verificación de si el número ya ha sido sorteado esté funcionando como esperas.

Espero que esta orientación te ayude a resolver el problema. Si necesitas más ayuda, no dudes en preguntar.

¡Espero haber ayudado y buenos estudios!

Gracias por tu atencion Brenda!

saludos!