Aquí dejo un pequeño código escrito en Python, para el mini juego piedra, papel o tijera vs la CPU (que no es más que el resultado de una función random entre los valores 1, 2 y 3).

El programa permite introducir por teclado la opción del jugador (1- Piedra, 2- Papel y 3- Tijera) mostrando el resultado de la jugada con la CPU, permitiendo jugar una y otra vez hasta que se introduzca la opción 4 para Salir; mostrando como salida final el resultado de las jugadas.

''' Piedra, Papel o Tijera vs CPU
    ***Lógica del resultado de restar player - cpu, según las opciones 1(Piedra), 2(Papel) y 3(Tijera)***
    
    Lógica para Jugador Gana 
    (fórmula player-cpu):
    piedra-tijera ( 1 - 3 = -2 )
    papel-piedra  ( 2 - 1 =  1 ) 
    tijera-papel  ( 3 - 2 =  1 ) > resultados (-2, 1)
    
    Lógica para CPU Gana 
    (fórmula player-cpu):
    piedra-papel  ( 1 - 2 = -1 )
    papel-tijera  ( 2 - 3 = -1 )
    tijera-piedra ( 3 - 1 =  2 ) > resultado (-1, 2)
    
    Resumen:
    player-cpu -> (-2, 1) resultado jugador gana
    player-cpu -> (-1, 2) resultado cpu gana
'''
import random

def playCPU() -> int: #retorna la jugada realizada por la CPU
    rand = random.randint(1,3)
    return rand 



def resultado(player:int, cpu:int) -> int: #player y cpu son parametros que reciben la opción el jugador y el generado para la cpu
    resultado = 0 #empate, se asume que el resultado inicial es empate
    juego = {"1": "Piedra", "2": "Papel", "3": "Tijera"}
    texto = "Usted jugó {} y la CPU {}".format( juego[ str(player) ], juego[ str(cpu) ]) 
    print(">"*len(texto)+"\n"+texto)
    
    if player != cpu:
        resultado = -1 #Se asume que CPU gana si las jugadas son distintas
        if player - cpu in (-2, 1) : #se comprueba la formula, y se altera el resultado según el mismo.
            resultado = 1 #Jugador Gana, en atención a los posibles resultados según la lógica definida para player-cpu
    
    return resultado



jugador ={"1": "Jugador", "-1": "CPU"}
marcador = { "1": 0, "-1": 0, "0": 0} #keys en función del jugador, el key "0" respresenta empate
opcion = "0" #se usa el string para no tener que validar la conversión INT del input con valores no numéricos
titulo = "Juego del Piedra, Papel o Tijera vs CPU"

print("\n"+"#"*len(titulo) + "\n" + titulo + "\n"+ "#"*len(titulo))

while opcion != "4":
    print("Opciones: \n1- Piedra \n2- Papel \n3- Tijera \n4- Salir")
    opcion = input("Elige la opción que quieres jugar: ")
    
    if opcion in ["1","2","3"]:
        cpu = playCPU()
        player = int(opcion) 
        
        result = resultado(player,cpu)
        marcador[str(result)] += 1
        texto = "Empate"
        
        if result != 0:
            texto = "{} gana".format(jugador[str(result)]) #Jugado o CPU gana
        
        print("-"*len(titulo)+"\n"+texto+"\n"+"-"*len(titulo)+"\n")
        
    
texto ="Fin del juego, resultado del juego: Jugador {} vs CPU {}; Empates: {}".format(marcador["1"],marcador["-1"],marcador["0"])
print("*"*len(texto)+"\n"+texto+"\n"+"*"*len(texto))

Aquí un pantallazo de unas jugadas de prueba:

Por Miguel Ramírez

Analista de Sistemas y Desarrollador de Software, apasionado por las nuevas tecnologías en el mundo de la programación. Programando desde 2001.

Deja una respuesta

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