Created
September 3, 2021 01:41
-
-
Save ibuilder/2d9a819cee4e7ccc1959fd00f1395f02 to your computer and use it in GitHub Desktop.
Rock Paper Scissor Lizard Spock
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
class Characters(): | |
def __init__(self, weight, player, winphrase, losephrase): | |
self.weight = weight | |
self.player = player | |
self.winphrase = winphrase | |
self.losephrase = losephrase | |
def __str__(self): | |
return str(self.__dict__) | |
choice1 = Characters(1, "Rock", "crushes","crushes") | |
choice2 = Characters(2, "Paper", "covers","disproves") | |
choice3 = Characters(3, "Lizard", "eats","poisons") | |
choice4 = Characters(4, "Spock", "vaporizes", "smashes") | |
choice5 = Characters(5, "Scissor", "cuts","decpitates") | |
choices = [choice1, choice2, choice3, choice4, choice5] | |
#NPC Character variables | |
npc_choice = vars(random.choice(choices)) | |
print(npc_choice) | |
npc_weight = npc_choice['weight'] | |
npc_player = npc_choice['player'] | |
npc_winphrase = npc_choice['winphrase'] | |
npc_losephrase = npc_choice['losephrase'] | |
#Player character variables | |
character = "Demon" | |
print("-----------------") | |
print("1. Rock") | |
print("2. Paper") | |
print("3. Lizard") | |
print("4. Spock") | |
print("5. Scissor") | |
print("6. Quit") | |
print("-----------------") | |
character = input("Pick a number? ") | |
if character == "1": | |
character = vars(choice1) | |
elif character == "2": | |
character = vars(choice2) | |
elif character == "3": | |
character = vars(choice3) | |
elif character == "4": | |
character = vars(choice4) | |
elif character == "5": | |
character = vars(choice5) | |
elif character == "6": | |
print("Game Over") | |
else : | |
print('player error') | |
char_weight = character['weight'] | |
char_player = character['player'] | |
char_winphrase = character['winphrase'] | |
char_losephrase = character['losephrase'] | |
print("You Picked: " + char_player) | |
print("Opposed by.. " + npc_player) | |
def rpsls(char_weight, npc_weight, char_player, npc_player, char_winphrase, npc_winphrase, char_losephrase, npc_losephrase): | |
diff = (char_weight - npc_weight)%5 | |
if diff == 0: | |
print ("It's a draw") | |
elif diff >=3: | |
if char_weight > npc_weight: | |
print (char_player, char_winphrase, npc_player) | |
elif char_weight == npc_weight: | |
print ("It's a draw") | |
else: | |
print (npc_player, npc_winphrase, char_player) | |
elif diff <=2: | |
if char_weight < npc_weight: | |
print (char_player, char_losephrase, npc_player) | |
elif char_weight == npc_weight: | |
print ("It's a draw") | |
else: | |
print (npc_player, npc_losephrase, char_player) | |
else: | |
print ('Something went wrong') | |
rpsls(char_weight, npc_weight, char_player, npc_player, char_winphrase, npc_winphrase, char_losephrase, npc_losephrase) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How come when you get lizard and the CPU gets Rock, "The rock crushes the Lizard". And when you que Rock and CPU Lizard, "The Lizard eats the Rock" ?
Isn't it supposed to be just: