Mini Proyecto: Juego de Adivinanza de Números

javascript ejercicio condicionales prompt

¡Pongamos en práctica lo aprendido! En este mini proyecto, crearás un juego interactivo simple. El objetivo es que el usuario adivine un número secreto que tú definirás. Usaremos variables, pediremos datos al usuario y usaremos condicionales para darle pistas.

🎯 Objetivo

Desarrollar un script que:

  1. Tenga un número secreto predefinido.
  2. Pida al usuario que intente adivinar ese número.
  3. Le diga al usuario si su intento fue muy alto, muy bajo o correcto.

💡 Conceptos a Utilizar

Para este ejercicio, necesitarás recordar y aplicar:

  • Variables (let, const)
  • Tipos de dato (number, string)
  • Entrada del usuario (prompt)
  • Conversión de tipos (Number())
  • Operadores de comparación (===, >, <)
  • Condicionales (if, else if, else)
  • Mostrar salida (alert o console.log)

👣 Pasos

  1. Define el número secreto: Guarda el número a adivinar en una constante (por ejemplo, const numeroSecreto = 42;).
  2. Pide la entrada al usuario: Usa prompt() para preguntarle al usuario por un número. Guarda su respuesta en una variable.
  3. Convierte la entrada: Recuerda que prompt() devuelve un string. Conviértelo a number usando Number() para poder hacer comparaciones numéricas.
  4. Compara los números: Utiliza if, else if y else para comparar el número del usuario con tu número secreto.
  5. Muestra el resultado:
    • Si acierta, felicítalo con un alert().
    • Si su número es mayor, indícale que es muy alto.
    • Si su número es menor, indícale que es muy bajo.
    • (Opcional) Considera qué pasa si el usuario no ingresa un número válido.
🤔 Pista

// 1. Define el número secreto
const numeroSecreto = 42; // ¡Puedes cambiar este número!
// 2. Pide la entrada al usuario
const intentoUsuarioStr = prompt("Adivina el número secreto (entre 1 y 100):");
// 3. Convierte la entrada a número
const intentoUsuario = Number(intentoUsuarioStr);
// 4. y 5. Compara y muestra el resultado
if (intentoUsuario === numeroSecreto) {
alert("¡Felicidades! 🎉 Adivinaste el número secreto.");
} else if (intentoUsuario > numeroSecreto) {
alert("Tu número es muy alto. ¡Sigue intentando! 📈");
} else if (intentoUsuario < numeroSecreto) {
alert("Tu número es muy bajo. ¡Sigue intentando! 📉");
} else {
// Opcional: Manejar casos donde la entrada no es un número válido
alert(
"🤔 Parece que no ingresaste un número. Por favor, intenta de nuevo con un número.",
);
}
// Es útil mostrar los valores en la consola para depurar
console.log("Número secreto era:", numeroSecreto);
console.log("Tu intento fue:", intentoUsuario);


☝️🤓
🏋️‍♂️ Ejercicio

¿Cómo podrías hacer que el numeroSecreto se genere aleatoriamente cada vez que se ejecuta el script, en lugar de ser siempre el mismo? Esto haría el juego más rejugable. (Pista: Investiga sobre Math.random() y Math.floor() en JavaScript).

🚀 Extra

Busca cómo puedes asegurarte de que el usuario realmente ingresó un número antes de intentar convertirlo y compararlo. ¿Qué pasa si el usuario escribe “hola” o cancela el prompt? Investiga sobre isNaN().

Comentarios