Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Resolviendo la recursividad

De la tarea que asignaron, me parecio que podia mejorar un poco mas el juego, por lo que implemente estas funciones, y trate de ser lo mas explisito. Me llevo varios dias, pero pude hacer algo con lo cual al ser principiante me deja satisfecho. Les comparto el codigo.

// Definir constantes y variables globales const numeroMaximo = 10; const maximoIntentos = 3; let intentos = 0; let numeroSecreto; let listaNumerosSorteados = []; let numeroDeJuego = 0; const maxJuegos = 3;

// Función para asignar texto a elementos HTML function asignarTextoElemento(elemento, texto) { document.querySelector(elemento).textContent = texto; }

// Función para generar un número secreto único function generarNumeroSecreto() { let numeroGenerado; do { numeroGenerado = Math.floor(Math.random() * numeroMaximo) + 1; } while (listaNumerosSorteados.includes(numeroGenerado)); listaNumerosSorteados.push(numeroGenerado); console.log(Número secreto generado: ${numeroGenerado}); console.log(Lista de números sorteados: ${listaNumerosSorteados}); return numeroGenerado; }

// Función para manejar el inicio de un nuevo juego function iniciarJuego() { numeroSecreto = generarNumeroSecreto(); intentos = 0; asignarTextoElemento('h1', 'Juego del número secreto!'); asignarTextoElemento('p', Indica un número del 1 al ${numeroMaximo}); document.getElementById('intentar').removeAttribute('disabled'); console.log(Nuevo juego iniciado. Número secreto: ${numeroSecreto}); }

// Función para verificar el intento del usuario function verificarIntento() { let valorUsuario = document.getElementById('valorUsuario').value.trim();

// Verificar si el valor ingresado es válido
if (isNaN(valorUsuario) || valorUsuario < 1 || valorUsuario > numeroMaximo) {
    asignarTextoElemento('p', `Por favor, ingresa un número entre 1 y ${numeroMaximo}`);
    return;
}

let numeroDeUsuario = parseInt(valorUsuario);
intentos++;

if (numeroDeUsuario === numeroSecreto) {
    asignarTextoElemento('p', `¡Acertaste en ${intentos} ${(intentos === 1) ? 'intento' : 'intentos'}!`);
    document.getElementById('intentar').setAttribute('disabled', 'disabled');
    document.getElementById('reiniciar').removeAttribute('disabled');
    console.log(`Usuario acertó el número secreto (${numeroSecreto}) en ${intentos} ${(intentos === 1) ? 'intento' : 'intentos'}.`);
    finalizarJuego(); // Finalizar el juego después de mostrar el mensaje
} else {
    if (intentos === maximoIntentos) {
        asignarTextoElemento('p', `¡Has agotado todos los intentos! El número secreto era ${numeroSecreto}.`);
        finalizarJuego();
    } else if (numeroDeUsuario < numeroSecreto) {
        asignarTextoElemento('p', 'El número secreto es mayor.');
    } else {
        asignarTextoElemento('p', 'El número secreto es menor.');
    }
    limpiarEntrada(); // Limpiar la entrada del usuario después de cada intento
    console.log(`Intento ${intentos}: Número ingresado por el usuario: ${numeroDeUsuario}`);
}

}

// Función para finalizar el juego function finalizarJuego() { if (numeroDeJuego <= maxJuegos) { numeroDeJuego++; document.getElementById('intentar').setAttribute('disabled', 'disabled'); document.getElementById('reiniciar').removeAttribute('disabled'); asignarTextoElemento('h1', Juego ${numeroDeJuego} Finalizado!);

} else {
    asignarTextoElemento('h1', 'Todos los juegos han finalizado.');
    document.getElementById('intentar').setAttribute('disabled', 'disabled');
    document.getElementById('reiniciar').setAttribute('disabled', 'disabled');
}
console.log(`Fin del juego ${numeroDeJuego}`);

}

// Función para limpiar la caja de entrada del usuario function limpiarEntrada() { document.getElementById('valorUsuario').value = ''; }

// Función para reiniciar el juego function reiniciarJuego() { limpiarEntrada(); iniciarJuego(); document.getElementById('reiniciar').setAttribute('disabled', 'disabled'); console.log('Juego reiniciado.'); }

1 respuesta

Hola Estudiante, espero que estés bien

Gracias por compartir tu actividad con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!