mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-23 07:29:02 -08:00
Merge pull request #46 from trevorhobson/Rock_Scissors_Paper
Port Rock Scissors Paper to Python
This commit is contained in:
84
74 Rock Scissors Paper/python/rockscissors.py
Normal file
84
74 Rock Scissors Paper/python/rockscissors.py
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/env python3
|
||||
# ROCKSCISSORS
|
||||
#
|
||||
# Converted from BASIC to Python by Trevor Hobson
|
||||
|
||||
import random
|
||||
|
||||
|
||||
def play_game():
|
||||
"""Play one round of the game"""
|
||||
|
||||
while True:
|
||||
try:
|
||||
games = int(input("How many games? "))
|
||||
if games >= 11:
|
||||
print("Sorry, but we aren't allowed to play that many.")
|
||||
else:
|
||||
break
|
||||
|
||||
except ValueError:
|
||||
print("Please enter a number.")
|
||||
|
||||
won_computer = 0
|
||||
won_human = 0
|
||||
|
||||
for game in range(games):
|
||||
print("\nGame number", game + 1)
|
||||
guess_computer = random.randint(1, 3)
|
||||
print("3=Rock...2=Scissors...1=Paper")
|
||||
guess_human = 0
|
||||
while guess_human == 0:
|
||||
try:
|
||||
guess_human = int(input("1...2...3...What's your choice "))
|
||||
if guess_human not in [1, 2, 3]:
|
||||
guess_human = 0
|
||||
print("Invalid")
|
||||
|
||||
except ValueError:
|
||||
print("Please enter a number.")
|
||||
print("This is my choice...")
|
||||
if guess_computer == 1:
|
||||
print("...Paper")
|
||||
elif guess_computer == 2:
|
||||
print("...Scissors")
|
||||
elif guess_computer == 3:
|
||||
print("...Rock")
|
||||
if guess_computer == guess_human:
|
||||
print("Tie Game. No winner")
|
||||
elif guess_computer > guess_human:
|
||||
if guess_human != 1 or guess_computer != 3:
|
||||
print("Wow! I win!!!")
|
||||
won_computer = won_computer + 1
|
||||
else:
|
||||
print("You win!!!")
|
||||
won_human = won_human + 1
|
||||
elif guess_computer == 1:
|
||||
if guess_human != 3:
|
||||
print("You win!!!")
|
||||
won_human = won_human + 1
|
||||
else:
|
||||
print("Wow! I win!!!")
|
||||
won_computer = won_computer + 1
|
||||
print("\nHere is the final game score:")
|
||||
print("I have won", won_computer, "game(s).")
|
||||
print("You have won", won_human, "game(s).")
|
||||
print("and", games - (won_computer + won_human), "game(s) ended in a tie.")
|
||||
print("\nThanks for playing!!\n")
|
||||
|
||||
|
||||
def main():
|
||||
print(" " * 21 + "GAME OF ROCK, SCISSORS, PAPER")
|
||||
print(" " * 15 + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n")
|
||||
|
||||
keep_playing = True
|
||||
while keep_playing:
|
||||
|
||||
play_game()
|
||||
|
||||
keep_playing = input(
|
||||
"Play again? (yes or no) ").lower().startswith("y")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user