From 6aba14f815b167b576d5cceb00a9b16eab959529 Mon Sep 17 00:00:00 2001 From: Deepraj Rakshit Date: Sun, 1 Oct 2023 04:30:57 +0530 Subject: [PATCH] Create Rock Paper Scissor --- Games/Rock Paper Scissor | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Games/Rock Paper Scissor diff --git a/Games/Rock Paper Scissor b/Games/Rock Paper Scissor new file mode 100644 index 0000000..dc65614 --- /dev/null +++ b/Games/Rock Paper Scissor @@ -0,0 +1,71 @@ +''' +Rock Paper Scissors +------------------------------------------------------------- +''' + + +import random +import os +import re + + +def check_play_status(): + valid_responses = ['yes', 'no'] + while True: + try: + response = input('Do you wish to play again? (Yes or No): ') + if response.lower() not in valid_responses: + raise ValueError('Yes or No only') + + if response.lower() == 'yes': + return True + else: + os.system('cls' if os.name == 'nt' else 'clear') + print('Thanks for playing!') + exit() + + except ValueError as err: + print(err) + + +def play_rps(): + play = True + while play: + os.system('cls' if os.name == 'nt' else 'clear') + print('') + print('Rock, Paper, Scissors - Shoot!') + + user_choice = input('Choose your weapon' + ' [R]ock], [P]aper, or [S]cissors: ') + + if not re.match("[SsRrPp]", user_choice): + print('Please choose a letter:') + print('[R]ock, [P]aper, or [S]cissors') + continue + + print(f'You chose: {user_choice}') + + choices = ['R', 'P', 'S'] + opp_choice = random.choice(choices) + + print(f'I chose: {opp_choice}') + + if opp_choice == user_choice.upper(): + print('Tie!') + play = check_play_status() + elif opp_choice == 'R' and user_choice.upper() == 'S': + print('Rock beats scissors, I win!') + play = check_play_status() + elif opp_choice == 'S' and user_choice.upper() == 'P': + print('Scissors beats paper! I win!') + play = check_play_status() + elif opp_choice == 'P' and user_choice.upper() == 'R': + print('Paper beats rock, I win!') + play = check_play_status() + else: + print('You win!\n') + play = check_play_status() + + +if __name__ == '__main__': + play_rps()