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

Deja una respuesta

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