Question: Degree of Difficulty: Moderate. The code is not difficult, but there's a lot to read about it. The game rock-paper-scissors-lizard-spock is an extension of the


Degree of Difficulty: Moderate. The code is not difficult, but there's a lot to read about it. The game "rock-paper-scissors-lizard-spock" is an extension of the commonly known game "rock-paper- scissors'. If you're not familiar with rock-paper-scissors, click here. Rock-paper-scissors-lizard-spock adds two additional moves to the basic game. The rules are summarized both in this educational video (click to view), and the image below. The arrows indicate which move beats which. For example, the arrow from paper to Spock indicates that paper disproves Spock (if one player plays paper, and the other plays Spock, the one that played paper wins). HOW TO ROCK,PAPER, SCISSORS, LIZARD, SPOCK SCISSORS PAPER LIZARD ROCK There are 25 possible pairs of moves, so sometimes it's hard to remember them. You will write a computer program that will act as a referee. The program will ask for the moves made by the two players via console input and report which player won. To solve this problem, you'll write a function that accepts the two moves made by the players as arguments, and returns the outcome (for more detail, see below). Separately, you'll write a main program to perform the console input to request player l's move, and player 2's move, and then call the function to determine the outcome. Note: The computer is not one of the players, the computer only determines who won given the moves that the two human players made. Sample Run Sample input and output (input typed by the user is shown in green text) for two different runs, the first showing a winner, the second showing a tie. Enter move for player 1: spock Enter move for player 2: rock Player 1 wins ! Enter move for player 1: lizard Enter move for player 2: lizard It was a tie! (a) Write a function called rock_paper_scissors_lizard_spock() that has two parameters: the first pa- rameter is the move made by player 1, the second parameter is the move made by player 2. The function should return: 1 when player 1 wins 2 when player 2 wins o if the game is tied Hint: There's a bad way and a better way to do this question. You'll know you're doing it the bad way if your program is very long, and if you are tempted to copy/paste/edit to write your code. The bad way looks at the problem from the point of view of analyzing the 25 combinations of moves by the players. The better way consists of looking at the problem from the point of view of the three possible outcomes: a win for player 1, a win for player 2, or tie. Try to aim for this approach. (b) Write an appropriate docstring for your function in part (a). (c) In the main program (after the function definition), write code to prompt for, and read, the players' moves from the console. You may assume that the user always enters one of the five strings: 'rock', 'paper', 'scissors', 'lizard', 'spock'. (d) Call the rock_paper_scissors_lizard_spock() function giving the two moves as arguments, and save its return value using a variable. (e) Use the return value to print a message to the console indicating which player won, or whether it was a tie. (f) Your program only has to referee one game. To referee another game, run the program again
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
