Question: In python please Yahtzee Create a dice game that awards the user points for pair, three-of-a-kind, or a series. Use the following class diagram for

In python please

In python please Yahtzee Create a dice game that awards the user

points for pair, three-of-a-kind, or a series. Use the following class diagram

Yahtzee Create a dice game that awards the user points for pair, three-of-a-kind, or a series. Use the following class diagram for your program. Die class (die.py) - has two attributes: the number of sides of the die and the value of the rolled die. 1. _init _ (se1f,sides=6) - assigns the number of sides from the value passed in. Set value to 0 or to the returned value of roll(). 2. rol1 (self) - generate a random number between 1 and the number of sides and assign it to the Die's value. Return the value. 3. -str _ (seif) - return the Die's value as a string. 4. - it_ (seif, other) - return true if the value of self is less than the value of other. 5. -eq_(self, other) - return true if both the values of self and other are equal. 6. I sub (self, other) - return the difference between the value of self and the value Player class (player.py) - has two attributes: a list of 3 Die objects and the player's points. 1. _init_(seif) - constructs and sorts the list of three Die objects and initializes the player's points to 0 . 2. get_points (seif) - returns the player's points. 3. ro11_dice (se1f) - calls roll on each of the Die objects in the dice list and sorts the list. 4. has_pair (self) - returns true if two dice in the list have the same value (uses ==). Increments points by 1 . 5. has_three_of_a_kind (self) - returns true if all three dice in the list have the same value (uses == ). Increments points by 3 . 6. has_series (self) - returns true if the values of each of the dice in the list are in a sequence (ex. 1,2,3 or 2,3,4 or 3,4,5 or 4,5,6) (uses -). Increments points by 2 . 7. str (seif) - returns a string in the format: "D1=2, D2=4, D3=6". types (pair, series, three-of-a-kind), and display the updated score. The main function should construct a player object, and then repeatedly call take_turn until the user chooses to end the game. Display the final points at the end of the game. Use the check_input module's get_yes_no function to prompt the user to continue or end the game. Use docstrings to document each class, method, and function. Example Output (user input in italics): -Yahtzee- D1=3D2=4D3=5 D1=1D2=4D3=5 Aww. Too Bad. Score =3 Score =0 Play again? (Y/N):y Play again? (Y/N): g Invalid input - should be a 'Yes' D1=1D2=1D3=1 or "No'. You got 3 of a kind! Play again? (Y/N):y Score =6 Play again? (Y/N): n D1=3D2=3D3=5 You got a pair! Game Over. Score =1 Final Score =6 Play again? (Y/N): y Notes: 1. You should have 4 different files: die.py, player.py, check_input.py, and main.py. 2. Check all user input using the get_yes_no function in the check_input module. 3. Do not create any extra methods or functions or add any extra parameters. 4. Please do not create any global variables or use the attributes globally. Only access the attributes using the class's methods. 5. Use docstrings to document the class, each of its methods, and the functions in the main file. See the lecture notes and the Coding Standards reference document for examples. 6. Place your names, date, and a brief description of the program in a comment block at the top of your main file. Place brief comments throughout your code. 7. Thoroughly test your program before submitting: a. Make sure that the user input is validated. b. Make sure that the dice values are sorted. c. Make sure that each of the win types are detected correctly. d. Make sure that the user is not awarded for both a pair and a three-of-a-kind simultaneously. e. Make sure that each of the win types awards the correct number f. of points. g. Make sure that the game continues and ends correctly. h. Make sure that the final score is displayed at the end

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!