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

Rango máximo entre 1 y 10, 100 o 1000

let maximo = parseInt(prompt("¿Cuál es el rango máximo del número a adivinar? (entre 1 y 10, 100 o 1000)")); // Solicita al usuario el rango máximo del número a adivinar

// Verifica si el valor ingresado es un número válido y está en el rango permitido
if (isNaN(maximo) || (maximo !== 10 && maximo !== 100 && maximo !== 1000)) { // Si el valor no es un número o no es 10, 100 o 1000
alert("ingreso un numero diferente a: 10, 100 o 1000 por este motivo se tomara como maximo 10"); // Muestra un mensaje de alerta
maximo = 10; // Si el usuario no ingresa un número válido, se establece el valor predeterminado de 10
}

let numeroSecreto = Math.floor(Math.random() * maximo) + 1; // Genera un número aleatorio entre 1 y maximo
console.log("Número secreto (para pruebas): " + numeroSecreto); // Muestra el número secreto en la consola para pruebas

let numeroUsuario = 0;
let intentos = 0; // Inicializa la variable intentos
let maximosIntentos = 3;

while (numeroUsuario !== numeroSecreto) {
numeroUsuario = parseInt(prompt(Me regalas un número del 1 al ${maximo})); // Solicita un número al usuario y lo convierte a entero
console.log(numeroUsuario);

if (isNaN(numeroUsuario) || numeroUsuario < 1 || numeroUsuario > maximo) {
    alert(`Por favor, ingresa un número válido entre 1 y ${maximo}.`);
    continue; // Pide otro número si el ingreso no es válido
}

intentos++; // Incrementa el número de intentos

if (numeroUsuario === numeroSecreto) {
    alert(`¡Felicidades! Acertaste, el número es: ${numeroSecreto}. Lo hiciste en ${intentos} ${intentos === 1 ? 'vez' : 'veces'}.`);
} else {
    if (numeroUsuario > numeroSecreto) {
        alert("El número ingresado es mayor que el número secreto.");
    } else {
        alert("El número ingresado es menor que el número secreto.");
    }

    console.log("Intento número: " + intentos);
    
    if (intentos >= maximosIntentos) {
        alert(`Has superado el número máximo de intentos (${maximosIntentos}). El número secreto era ${numeroSecreto}.`);
        break;
    }
}

}

1 respuesta

¡Hola Edwin!

Parece que ya has hecho un gran progreso en el desafío propuesto. Tu código ya permite que el usuario elija un rango máximo entre 10, 100 o 1000, lo cual es precisamente lo que se busca en el ejercicio. Has implementado una lógica para verificar si el número ingresado por el usuario es válido y está dentro de los rangos permitidos, y si no, se establece un valor predeterminado de 10. Esto es una buena práctica para asegurar que el juego funcione correctamente.

Además, el bucle while que has implementado verifica si el número ingresado por el usuario coincide con el número secreto y proporciona retroalimentación al usuario sobre si su número es mayor o menor que el número secreto. También manejas bien los intentos máximos permitidos.

Un pequeño consejo sería asegurarte de que el mensaje de alerta que aparece cuando el usuario supera el número máximo de intentos sea claro, como ya lo has hecho. Esto ayuda a mejorar la experiencia del usuario.

En resumen, tu implementación parece estar en línea con el desafío propuesto. ¡Buen trabajo!

Espero haber ayudado y buenos estudios!