Practica JS creando un juego sencillo.



La mejor forma de aprender es practicando, y para que la práctica sea más divertida, ¿Qué te parece crear un juego de estrategia en JavaScript?

Intenta crear un juego llamado SecretCodeJS, el programa debe generar un número aleatorio de 4 dígitos (para tu conveniencia lo debes guardar como string), luego el jugador tiene 10 intentos para adivinarlo.

Cada vez que ingresa un código, recibe estas pistas:

Para cada uno de los 4 dígitos:

  1. Indicar cuales son correctos y están en la posición correcta.
  2. Indicar si un número no pertenece a la secuencia.
  3. Indicar si un número sí está dentro del código, pero está en otra posición

Por ejemplo, si el código secreto es 1124, y el jugador ingresa 1049. El juego debe dar esta información para cada dígito:

  1. El primer número (1) está correcto y va en esa posición
  2. El segundo número (0) no pertenece a la secuencia
  3. El tercer número (4) pertenece a la secuencia, pero no va en esa posición
  4. El cuarto número (9) no pertenece a la secuencia

Puedes ver un ejemplo y divertirte un poco haciendo clic sobre este enlace.

Aquí hay algunos concejos que te pueden ayudar:

Si tienes una variable de tipo string llamada variable, puedes acceder al carácter número 2, usando este código (el 1 representa el segundo carácter, porque la cuenta inicia desde cero):

variable.charAt(1) 

Para buscar en una cadena (variable de tipo string) si existe una subcadena (o carácter), puedes usar esta función:

cadena.indexOf(“a”)

En el ejemplo anterior va a buscar en la variable cadena, si existe la letra “a”, de ser así va a regresar la posición en donde se encuentra o un -1 en caso de que no la encuentre.

Si necesitas ayuda, puedes descargar el código que creé, este tiene comentarios que pueden serte de ayuda. Pero intenta primero resolverlo por tu cuenta, si hay algo que no sabes puedes intentar buscarlo en google, por ejemplo, busca “Generar número aleatorio en js”.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *