En esta sección aprenderemos a crear un juego de piedra, papel o tijera en el cual el usuario podrá elegir una de las 3 opciones y el programa escogerá una de las 3 opciones de manera aleatoria, y se mostrará quién ganó la partida. Tu tarea será completar el código según lo aprendido. Observación: si el comentario inicia con un * significa que debes completar lo que pida, de lo contrario es un simple comentario para entender el código.
Felicidades has completado la lección ! 🎊
Reto Final
Completa el código que falte para que el programa pueda funcionar.
Suerte! al final tendrás el código completo. Te recomiendo que uses un
editor y vayas siguiendo la actividad desde ahí.
Empecemos declarando unas variables, sabemos que la mejor forma de
declarar una variable con varios datos es un arreglo y en el juego
tenemos 3 opciones. Completa el código:
//*declara un arreglo con las opciones del juego piedra papel y tijera
//Una vez declarado el arreglo, declaramos una variable que guarde la opción del usuario.
const opcionUsuario = //*usa la función correspondiente para pedirle al usuario que ingrese una opción
Una vez teniendo esto necesitamos generar una opción aleatoria para la maquina, para esto usaremos la función Math.random() y Math.floor() para redondear el numero.
const opciónMaquina = opciones[Math.floor(Math.random() * 3)]; //Declarando la opción de la maquina
Ahora que tenemos las opciones del usuario y la máquina, necesitamos compararlas para saber quién ganó la partida. Para esto usaremos un condicional switch, el cual nos permite comparar una variable con varios casos. En este caso necesitamos comparar la opción del usuario con las opciones de la máquina, para esto usaremos un switch con 3 casos, uno para cada posible opción que escoja el usuario. Completa el código:
switch (opcionUsuario) {//*crea los 3 casos posibles usando la estructura switch y un default indicando que la opción no es valida
Dentro de cada caso necesitamos comparar la opción del usuario con la opción de la máquina así que usaremos un condicional if para esto. Dentro del caso piedra tendríamos lo siguiente:
case "piedra":
if (opciónMaquina === 'piedra') {//Comparamos la opción del usuario con la opción de la maquina
alert('Empate'); //Si es empate mostramos un mensaje
} //* compara la opción del usuario con la opción de la maquina si este escoge papel o tijera
//* usa la función correspondiente para decirle al usuario si perdió o gano
} else {
//* muestra el mensaje faltante
}
break;
Ahora que ya tenemos un caso, simplemente aplicamos la misma lógica para los casos faltantes, de la misma manera usamos un if para compararlo según la regla del juego. Con todo esto ya tendríamos terminado el juego, si quieres le puedes agregar más mensajes al juego.
En JavaScript podemos concatenar(unir) strings usando el operador +, esto nos permite unir strings con variables, por ejemplo aplicado con el juego podemos enviar el siguiente mensaje para mejorarlo:
alert('Ganaste, la maquina eligió ' + opcionMaquina);
El juego está completo, pero si deseamos volver a jugar tenemos que ejecutar el código de nuevo, así que usaremos un bucle para repetir el juego, en este caso usaremos el do while, este debe cubrir el todo el código. También necesitaremos declarar una variable para saber si desea salir.
//*declara una variable boolean
Ahora tendremos que generar el ciclo aperturando con un do y tendremos que pedir una confirmación si desea salir antes de cerrar el ciclo con while
//*apertura del ciclo
//... código
//Preguntamos si desea salir, usamos confirm y asignamos si el booleano salir es true o false dependiendo de que presiono el usuario.
salir = confirm("¿Deseas salir?") ? false : true;
//* cierra el ciclo con while
Asi quedaría el código. Puedes ejecutarlo en cualquier playground online: