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)
1
respuesta

Duda recursividad

A pesar de haber seguido los pasos como se muestra en los videos, se genera un problema con la recursividad, no sé donde se encuentra el problema en el código, he intentado cambia el orden de las variables pero sigue sin funcionar. Agradezco sus opiniones o posibles soluciones

let numeroMaximo = 10;
let listaNumerosSorteados = [];
let numeroSecreto = 0;
let intentos = 0;
function asignarTextoElemento(elemento, texto) {
    let elementoHTML = document.querySelector (elemento);
    elementoHTML.innerHTML = texto;
    return;
    
}
function verificarIntento() {
     let numeroDeUsuario = parseInt(document.getElementById("valorUsuario").value); 
     
     if (numeroDeUsuario === numeroSecreto) {
        asignarTextoElemento ("p", `Acertaste el número secreto en ${intentos} ${(intentos === 1) ? "intento" : "intentos"}!`);
       document.getElementById("reiniciar").removeAttribute("disabled");
      } else  {
      if (numeroDeUsuario > numeroSecreto) {
        asignarTextoElemento ("p", "El número secreto es menor");
     } else {
        asignarTextoElemento ("p", "El número secreto es mayor");
     }
     intentos++;
     limpiarCaja();

   
   }
     return;
    }
   
 function limpiarCaja() {
   document.querySelector("#valorUsuario").value ="";
 }

function generarNumeroSecreto() {
    let numeroGenerado = Math.floor(Math.random()*numeroMaximo)+1;
    console.log(numeroGenerado);
    console.log(listaNumerosSorteados);
    if (listaNumerosSorteados.length == numeroMaximo) {
        asignarTextoElemento("p", "Ya se sortearon todos los números posibles");
    } else {
if (listaNumerosSorteados.includes(numeroGenerado)) { 
return generarNumeroSecreto;
} else {
   listaNumerosSorteados.push(numeroGenerado);
   return numeroGenerado;
 }
} 
} 

function condicionesIniciales(){
asignarTextoElemento("h1", "Juego del número secreto");
asignarTextoElemento("p", `Indica un número del 1 al ${numeroMaximo}!`);
numeroSecreto = generarNumeroSecreto();
intentos = 1;
}

function reiniciarJuego() {
limpiarCaja();
condicionesIniciales();
document.querySelector("#reiniciar").setAttribute("disabled","true");
  //necesitamos limpiar la caja, volver a colocar el mensaje del intervalo de numeros,generar el numero aleatorio y dejar el boton de nuevo juego desabilitado porque solo se habilita cuando se terminal el juego, y volver a contar los intetnos
}


condicionesIniciales();

![Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad](https://cdn1.gnarususercontent.com.br/6/698326/40125de4-b625-4a7c-b511-1fd66e4c7a4b.png)  
1 respuesta
solución!

Hola, te falta los paréntesis al final del código return generarNumeroSecreto; de la función generarNumeroSecreto. El código correcto es return generarNumeroSecreto(); colocando los paréntesis al final. Con eso se soluciona tu problema.