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

Propuesta de desafio

En mi propuesta se le pregunta al usuario el rango de número en el que estará el número secreto

// Variables
let mensajeDeBienvenida = 'Bienvenido a la aplicación';
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 10;

alert(mensajeDeBienvenida);

// Ajusta el rango del juego
let rango1 = parseInt(prompt('Ingresa un número entero'));
let rango2 = parseInt(prompt('Ingresa un número entero mayor al anterior'));
while (rango1 >= rango2) {
    if (rango1 == rango2) {
        rango2 = parseInt(prompt('El número no puede igual al anterior, ingresa uno nuevo'));
    } else{
        rango2 = parseInt(prompt('El número no puede menor al anterior, ingresa uno nuevo'));
    }   
}
//Genera el número aleatorio en el rango entregado
let numeroSecreto = Math.floor(Math.random()*(rango2-rango1))+rango1;

while (numeroUsuario != numeroSecreto) {
    numeroUsuario = parseInt(prompt(`Me indicas un número entre ${rango1} y ${rango2} por favor:`));

    if (numeroUsuario == numeroSecreto) {
        alert (`Acertaste, el número es: ${numeroUsuario}, Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
    }    else    {
        if (numeroUsuario > numeroSecreto)    {
            alert('El número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }
        intentos = intentos + 1;
        if (intentos > maximosIntentos) {
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos`);
            break;
        }
    }
}
1 respuesta

Hola Hebert, espero que estés bien

¡Qué interesante desafío has propuesto! Parece que ya has implementado una solución que permite al usuario definir el rango para el número secreto, lo cual es excelente. Sin embargo, me gustaría señalar un pequeño ajuste que podrías considerar para mejorar la funcionalidad de tu código.

En la línea donde generas el número aleatorio:

let numeroSecreto = Math.floor(Math.random() * (rango2 - rango1)) + rango1;

Podrías ajustar la fórmula para asegurarte de que el número secreto pueda incluir el valor máximo del rango. La fórmula correcta debería ser:

let numeroSecreto = Math.floor(Math.random() * (rango2 - rango1 + 1)) + rango1;

Al agregar + 1 al cálculo del rango, te aseguras de que el número aleatorio generado pueda ser igual a rango2, el límite superior del rango definido por el usuario.

Espero que esta sugerencia te sea útil y continúes disfrutando del proceso de aprendizaje. ¡Bons estudios!