Mini Proyecto: Juego de Adivinanza de Números
¡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:
- Tenga un número secreto predefinido.
- Pida al usuario que intente adivinar ese número.
- 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
oconsole.log
)
👣 Pasos
- Define el número secreto: Guarda el número a adivinar en una constante (por ejemplo,
const numeroSecreto = 42;
). - Pide la entrada al usuario: Usa
prompt()
para preguntarle al usuario por un número. Guarda su respuesta en una variable. - Convierte la entrada: Recuerda que
prompt()
devuelve unstring
. Conviértelo anumber
usandoNumber()
para poder hacer comparaciones numéricas. - Compara los números: Utiliza
if
,else if
yelse
para comparar el número del usuario con tu número secreto. - 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.
- Si acierta, felicítalo con un
🤔 Pista
// 1. Define el número secretoconst numeroSecreto = 42; // ¡Puedes cambiar este número!
// 2. Pide la entrada al usuarioconst intentoUsuarioStr = prompt("Adivina el número secreto (entre 1 y 100):");
// 3. Convierte la entrada a númeroconst intentoUsuario = Number(intentoUsuarioStr);
// 4. y 5. Compara y muestra el resultadoif (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 depurarconsole.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()
.