Introducción al juego
ha sido un juego interesante y en movimiento desde nuestra infancia, uno al que podíamos jugar en cualquier lugar cuando estábamos aburridos. El juego es sencillo. Involucra a dos jugadores, y cada jugador tiene que elegir una de las 3 opciones: Piedra, Papel o Tijera. El Piedra se expresa con el puño, las Tijeras con los dos dedos extendidos y el Papel con la mano abierta.
Los siguientes son los diferentes escenarios que pueden ocurrir y lo que significarían:
Piedra vs Papel: El Papel cubre la Roca. El papel gana. Piedra vs Tijera: La Piedra rompe las Tijeras. El rock gana. Papel vs Tijeras: Las Tijeras cortan el Papel. Gana Tijeras. Los mismos signos: ¡dibuja!
Usaremos nuestra comprensión del juego, así como nuestro conocimiento de Python como principiante, para codificar este juego en un programa de computadora. Esto se hará con la ayuda de declaraciones condicionales de Python: ‘if’, ‘elif’ y ‘else’, así como el uso del módulo aleatorio, que es un módulo incorporado de Python. Aprenderemos a importarlo y utilizar su función para incluir el elemento de aleatoriedad en nuestro juego.
Implementando el juego en Python
Ahora implementaremos el juego en Python. Usaremos los conceptos de Listas de Python y Aleatorización usando el módulo aleatorio de Python para lograr nuestro objetivo.
Así se desarrollará el programa:
El programa te pedirá que elijas Piedra, Papel o Tijera. La computadora elegirá aleatoriamente una de las 3 opciones. En base a los diferentes escenarios anteriores, el programa decidirá quién ganó el juego y dará la opción de volver a jugar.
Definición de la lista y generación del arte ASCII
Primero, generaremos el arte ASCII para piedra, papel o tijera. Almacenaremos estas variables internas con el nombre correspondiente, que luego se almacenan dentro de una lista de Python rps_list.
roca = “”” _______ —‘ ____) (_____) (_____) (____) —.__(___) “”” papel = “”” _______ —‘ ____)____ ______) _______) _______) —.________) —.________) “”” tijeras = “”” _______ —‘ ____)____ ______) __________) (____) —.__(___) “”” lista_rps = [rock, paper, scissors ]
Solicitar información del usuario
El siguiente paso es obtener la información del usuario. Usaremos la variable user_choice para almacenar lo que el usuario elige para jugar, así como también lo imprimiremos para que el usuario lo vea. Observe que la variable user_choice almacenará la entrada como una cadena. Será útil recordar este punto clave cuando usemos condicionales para comparar las opciones del usuario y de la computadora en el artículo siguiente.
user_choice = input(“¿Qué eliges? Escribe ‘piedra’ para Piedra, ‘tijeras’ para Tijeras y ‘papel’ para Papel”) print(f”El usuario elige {user_choice}”)
Elección aleatoria de la computadora
Una vez que el usuario ha decidido su elección, a continuación haremos que el ordenador haga una elección aleatoria. Usaremos el módulo aleatorio para este propósito. Puedes consultar más sobre esto a través del siguiente enlace:
aleatorio: genera números pseudoaleatorios
La función Choice() del módulo aleatorio nos permite hacer una elección aleatoria de una lista de Python determinada que se le ha asignado como parámetro. Almacenaremos esta elección aleatoria en la variable elección_computadora y la imprimiremos.
importar elección aleatoria de computadora = elección aleatoria (lista_rps) imprimir (f”La computadora elige {elección_computadora}”)
Además, también puedes consultar este artículo, que te explica cómo incluir la aleatorización en nuestro código utilizando el módulo aleatorio de Python. Incluye una sencilla explicación de las diferentes funciones con ejemplos fáciles de entender:
Cómo implementar la aleatorización con el módulo aleatorio de Python
Escenarios que utilizan condicionales
Ahora definiremos todos los diferentes escenarios que mencionamos al principio en forma de código. Usaremos if, elif y else, que son declaraciones condicionales de Python, para este propósito.
if elección_computadora == piedra y elección_usuario == ‘tijeras’: print(“Pierdes”) elif elección_computadora == piedra y elección_usuario == ‘papel’: imprimir(“Ganas”) elif elección_computadora == piedra y elección_usuario == “piedra”: imprimir(“Dibujar”) elif elección_computadora == papel y elección_usuario == ‘papel’: imprimir(“Dibujar”) elif elección_computadora == papel y elección_usuario == ‘tijeras’: print(“Tú ganas”) elif elección_computadora == papel y elección_usuario == “piedra”: print(“Pierdes”) elif elección_computadora == tijeras y elección_usuario == ‘tijeras’: print(“Dibujar”) elif elección_computadora == tijeras y elección_usuario == “piedra”: print(“Ganas”) elif elección_computadora == tijeras y elección_usuario == ‘papel’: print(“Pierdes”) else: print(“Error”)
Como se puede ver en el código anterior, hemos utilizado todos y cada uno de los escenarios, comparando la elección de la computadora con la elección del usuario que se había almacenado como una cadena, como se puede entender por la coma invertida, y luego imprimimos los resultados, ya sea que el usuario gane, la computadora gane o haya resultado en un empate entre ambos.
Conclusión
El programa anterior es un código Python simple, que es fácil de entender y brinda una introducción a los condicionales de Python y el uso del módulo aleatorio, específicamente su función de elección.
Aunque hay varias formas en las que se podrían haber codificado los escenarios, el anterior era un código explícito y fácil de usar para principiantes que involucraba los condicionales if, elif y else. ¿Se te ocurre alguna otra forma en que se podría haber codificado este juego?