Advertisement
Gabri_RDiaz

RockPaperScissorsLizardSpockPython

Mar 22nd, 2021
1,162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.94 KB | None | 0 0
  1. from random import randrange
  2.  
  3. def write_menu():
  4.     print("Rock/Paper/Scissor/Lizard/Spock\n"
  5.           "Select an option:\n"
  6.           "1. Rock\n"
  7.           "2. Paper\n"
  8.           "3. Scissor\n"
  9.           "4. Lizard\n"
  10.           "5. Spock\n"
  11.           "0. Exit")
  12.     option = get_option("Escoja una opcion: ")
  13.     if (option > 0 and option < 6):
  14.         play(option)
  15.     elif (option == 0):
  16.         print(exit(0))
  17.     else:
  18.         print("Error! Seleccione una opción válida")
  19.         write_menu()
  20.  
  21. def play(option):
  22.     cpu = parse_option(randrange(1,6))
  23.     player = parse_option(option)
  24.  
  25.     if(player == cpu):
  26.         print("Empate")
  27.         write_menu()
  28.  
  29.     elif(player=="Rock"):
  30.         if(cpu=="Paper"):
  31.             check_winner(cpu, False)
  32.         elif(cpu=="Scissors"):
  33.             check_winner(cpu, True)
  34.         elif(cpu=="Lizard"):
  35.             check_winner(cpu, True)
  36.         else:
  37.             check_winner(cpu, False)
  38.  
  39.     elif(player=="Paper"):
  40.         if (cpu == "Rock"):
  41.             check_winner(cpu, True)
  42.         elif (cpu == "Scissors"):
  43.             check_winner(cpu, False)
  44.         elif (cpu == "Lizard"):
  45.             check_winner(cpu, False)
  46.         else:
  47.             check_winner(cpu, True)
  48.  
  49.     elif (player == "Scissors"):
  50.         if (cpu == "Rock"):
  51.             check_winner(cpu, False)
  52.         elif (cpu == "Paper"):
  53.             check_winner(cpu, True)
  54.         elif (cpu == "Lizard"):
  55.             check_winner(cpu, True)
  56.         else:
  57.             check_winner(cpu, False)
  58.  
  59.     elif (player == "Lizard"):
  60.         if (cpu == "Rock"):
  61.             check_winner(cpu, False)
  62.         elif (cpu == "Paper"):
  63.             check_winner(cpu, True)
  64.         elif (cpu == "Scissors"):
  65.             check_winner(cpu, False)
  66.         else:
  67.             check_winner(cpu, True)
  68.  
  69.     elif (player == "Spock"):
  70.         if (cpu == "Rock"):
  71.             check_winner(cpu, True)
  72.         elif (cpu == "Paper"):
  73.             check_winner(cpu, False)
  74.         elif (cpu == "Scissors"):
  75.             check_winner(cpu, True)
  76.         else:
  77.             check_winner(cpu, False)
  78.     else:
  79.         print("Fatal error")
  80.         exit(0)
  81.  
  82. def check_winner(cpu, isWinner):
  83.     if(isWinner):
  84.         print("You won!")
  85.         print("CPU played ",cpu)
  86.         print("----------------------")
  87.         write_menu()
  88.     else:
  89.         print("You lost!")
  90.         print("CPU played ",cpu)
  91.         print("----------------------")
  92.         write_menu()
  93.  
  94. def get_option(msg):
  95.     try:
  96.         op = int(input(msg))
  97.     except ValueError:
  98.         op = None
  99.     finally:
  100.         return op
  101.  
  102. def parse_option(option):
  103.     if(option == 1):
  104.         return "Rock"
  105.     elif(option == 2):
  106.         return "Paper"
  107.     elif(option == 3):
  108.         return "Scissors"
  109.     elif (option == 4):
  110.         return "Lizard"
  111.     elif (option == 5):
  112.         return "Spock"
  113.     else:
  114.         return None
  115.  
  116. if __name__ == '__main__':
  117.     write_menu()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement