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

Solución al desafio donde el usuario elige los intentos que desea tener y los rangos en los que jugará

// Variables iniciales
let numeroUsuario = 0; 
let intentos = 1; 
// let palabraVeces = 'vez'; 
let maximosIntentos; 

// Se le pide al usuario que indique cuántos intentos quiere tener
do {
    maximosIntentos = parseInt(prompt("Ingresa el número de intentos que te gustaría tener"));
} while (isNaN(maximosIntentos) || maximosIntentos <= 0); // Validación para que los intentos sean válidos, es decir, sean un número y mayores que cero.
let rangoMinimo, rangoMaximo; // Definimos los límites del rango de adivinación.
// Solicitar al usuario el rango de números
do {
    // Se le pide al usuario que ingrese el número mínimo del rango
    do {
        rangoMinimo = parseInt(prompt("Ingresa el número mínimo del rango en el que jugarás:"));
    } while (isNaN(rangoMinimo)); // Validación 

    //  Se le pide al usuario que ingrese el número máximo del rango
    do {
        rangoMaximo = parseInt(prompt("Ingresa el número máximo del rango en el que jugarás:"));
    } while (isNaN(rangoMaximo)); // Validación

    // Se comprueba que el rango mínimo sea menor que el rango máximo
    if (rangoMinimo >= rangoMaximo) {
        alert("El valor mínimo debe ser menor que el máximo. Inténtalo nuevamente.");
    }
} while (rangoMinimo >= rangoMaximo); // Si el mínimo es mayor o igual que el máximo, se pide al usuario que lo intente de nuevo

// Se genera el número secreto aleatorio dentro del rango
let numeroSecreto = Math.floor(Math.random() * (rangoMaximo - rangoMinimo + 1)) + rangoMinimo;
// console.log(numeroSecreto);

// Se comienza el ciclo de adivinanza
while (numeroUsuario != numeroSecreto) {
    // Se pide al usuario que ingrese un número dentro del rango especificado
    numeroUsuario = parseInt(prompt(`Me indicas un número entre ${rangoMinimo} y ${rangoMaximo} por favor:`));

    console.log(numeroUsuario); // Imprime el número ingresado por el usuario en la consola

    // Se comprueba si el número ingresado es correcto
    if (numeroUsuario == numeroSecreto) {
        // Si el usuario acertó
        alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`); 
        // Muestra un mensaje si acertó el número, y usa una condición ternaria para mostrar "vez" o "veces"
    } else {
        // Si el número ingresado no es el secreto, indicamos si el número es mayor o menor
        if (numeroUsuario > numeroSecreto) {
            alert('El número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }
        
        // Incrementamos el contador de intentos
        intentos++; // Opción abreviada para "intentos = intentos + 1;"
        
        // Si el usuario ha alcanzado el número máximo de intentos, terminamos el juego
        if (intentos > maximosIntentos) {
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos. El número secreto era ${numeroSecreto}`);
            break; // Sale del bucle
        }
    }
}
1 respuesta

Hola!

Gracias por compartir tu código con nosotros. es excelente ver cómo vas avanzando en el curso. Te animo a seguir practicando y experimentando con lo que has aprendido hasta ahora.

Recuerda que las actividades no es necesario que sean publicadas en el foro. Este espacio está principalmente destinado para resolver dudas específicas relacionadas con el contenido de los cursos, lo que nos permite optimizar el tiempo de respuesta para todos los alumnos. Si tienes comentarios, opiniones o deseas compartir ideas, te sugiero interactuar con la comunidad en nuestro Discord, donde podrás intercambiar pensamientos y recibir feedback de manera más dinámica.

Sigue adelante con tu trabajo, y no dudes en regresar al foro si tienes alguna pregunta o necesitas ayuda.

Gracias Nuevamente!

Saludos,

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