Vamos a jugar un juego de Piedra, Papel o Tijeras contra el computador, algo donde podamos competir más de una vez y sea algo entretenido.
Primero, para que el juego tenga algo de sentido y que el compu no siempre nos arroje piedra, como Bart, debemos traer una librería que nos dará ese factor de aleatoriedad
import random as rd
deff_comp():
opt_comp = str(rd.randint(1,3))
if opt_comp == "1":
print("La computadora ha seleccionado PIEDRA")
elif opt_comp == "2":
print("La computadora ha seleccionado PAPEL")
elif opt_comp == "3":
print("La computadora ha seleccionado TIJERAS")
return opt_comp
Y ahora verás un montón de código, pero ya lo explicaremos, despacio
Lo primero que se hizo fue importar, una manera elegante de decir que llamamos, a un paquete de funciones, en este caso llamamos a random, un paquete de funciones que hacen al computador impredecible. Ya con eso usamos una función para que no sea tan impredecible a puntos extremos, rd.randint()
es una función que lo obliga a elegir entre opciones concretas, en este caso, entre los números 1, 2 o 3. Una vez ha elegido alguno de los tres, se le asigna alguna opción del juego, 1 para la buena Piedra, 2 para el Papel y 3 para las Tijeras. Al final, empaquetamos eso en una función llamada f_comp()
, que al llamarla nos dará la opción del computador.
Ahora sique lo importante, que uno seleccione su opción ganadora, una con la que pueda competir contra el computador
deff_user():
opt_user = input("""Bienvenido al juego de Piedra, papel o tijera
Por favor, selecciona una opcion
Por favor, selecciona \n \n 1 para PIEDRA \n 2 para PAPEL \n 3 para TIJERAS \n""")
opcion = Truewhile opcion:
if opt_user == "1":
print("Seleccionaste PIEDRA")
opcion = Falseelif opt_user == '2':
print("Seleccionaste PAPEL")
opcion = Falseelif opt_user == '3':
print("Seleccionaste TIJERAS")
opcion = Falseelse:
print("Seleccionaste una opcion incorrecta, vuelve a intentar")
opt_user = input("Por favor, selecciona \n 1 para PIEDRA \n 2 para PAPEL \n 3 para TIJERAS \n")
return opt_user
Entonces haremos una función que le pregunte a uno como usuario qué opción quiere, siento 1 para Piedra, 2 para Papel y 3 para Tijeras, pero la ponemos dentro de un while
, un ciclo infinito que nos garantiza que ningún usuario se pondrá de listillo a poner otras opciones, siendo que solo dejará seguir el juego si uno selecciona una de las opciones.
Ahora que ya tenemos listos a los dos jugadores, cada uno en una esquina y listos para jugar, creamos las reglas donde se decide el ganador, el lugar de enfrentamiento, en el que se dice que la buena Piedra es débil al Papel y el Papel es débil a las Tijeras
defresultado():
user, comp = f_user(), f_comp()
user, comp = int(user), int(comp)
if user == comp:
print("Has empatado")
elif (user == 1and comp == 3) or (user == 2and comp == 1) or (user == 3and comp == 2):
print("Ganaste")
else:
print("Perdiste")
Y teniendo estas reglas donde comparamos los resultados de cada jugador, solo nos queda el ring y empezar a jugar, nos visualizamos ganando y a jugar se ha dicho
defgame():
juego = Truewhile juego:
resultado()
jugar = input("Desea seguir jugando? \n Presione Y para si, cualquier tecla para no \n").upper()
if jugar != "Y":
juego = False
game()
Ya, si quieres correr todo este código en python y disfrutar del juego contra tu propio computador, lo guardas y ejecutas. Esperemos no tenga que venir alguien a salvarte de la derrota a manos de tu propio equipo.