Determine which value is on the most dice and set those


Part I

Use these libraries and global variables that should remain immutable (they're "constants") - you MUST use these constants in your code so if they're changed, everything will still work as it should. Your code should handle four 20-sided die rolled nine times per test just as easily as five 6-sided die rolled three times per test.

Define a class called 3 (singular for "dice") that will have the following methods:

++ ++0 %) (+%+ 1 creates a 3 object with the given number of sides (for example, +53061 a "normal" 6-sided die, or +5301 for a gamer's 20-sided die.

It should even be able to handle an odd number, such as a 17-sided die! We are not limited by the need for physical symmetry here.

(0 %1 will roll the 3 based on the number of sides and assigns the value rolled to a "hidden" variable - a positive integer from 1 to the number of sides. For example, a 6-sided 3 will generate and return a value from 1 to 6.

1 will generate a random integer whose value is equally likely to be any integer from 1 through 100, including both 1 and 100.

0 %1 will return an integer, the current value of the die as it was last rolled. If the die has never been rolled, it should return a value of .

Also, in your "main" code at the bottom of the Python module, write Python code to create a list called

+. whose items are 3 objects. This

+. list will represent the dice in your main executable code, and must match the requirements for the +. parameter for the pre-written functions.

Part II

Using 3 objects as defined above, you will define the function called

+

>0+.1

(much like

+ 01 in the previous project), that will perform the simulation as specified below.

The function will return =( if the outcome is a Yahtzee, and ' if it is not.

In the game of Yahtzee, a player rolls dice. In your function, the player will try to get a Yahtzee by

following these rules:

(1) For the first roll, roll all the dice

(2) Determine which value is on the most dice, and set those dice aside so they won't be re-rolled

(3) Re-roll all the dice that weren't set aside

(4) Repeat steps (2) and (3) until you're out of rolls (in Yahtzee, it's a maximum of 3 rolls)

(5) If, after the rolls, all the dice have the same value, you have a Yahtzee! If not, then you don't.

Consider the following code to print the values of all your dice to the screen. The parameter +. is a list of 3 objects - notice how each die is represented by ^^ this is part of the homework.

Solution Preview :

Prepared by a verified Expert
Python Programming: Determine which value is on the most dice and set those
Reference No:- TGS01393072

Now Priced at $75 (50% Discount)

Recommended (90%)

Rated (4.3/5)