### How would you represent the game as a collection of objects

Assignment Help Python Programming
##### Reference no: EM132183614

Assignment - OOP Review and Best Practices

For this assignment, you will be implementing a simple game called Pig.

Overview

This week we reviewed Object Oriented Programming concepts, as well as went over best practices associated with OOP. For this week's assignment, you will be implementing a simple game called Pig. Details about the game can be found here. Your job will be to code a functional application that implements this game for two players. Next week, we will expand on this assignment and allow the computer to play, using a certain strategy.

All development should be done in this repository.

1. Read the assignment over a few times. At least twice. It always helps to have a clear picture of the overall assignment when understanding how to build a solution.

2. Think about the problem for a while, and even try writing or drawing a solution using pencil and paper or a whiteboard.

3. Before submitting the assignment, review the "Functional Requirements" section and make sure you hit all the points. This will not guarantee a perfect score, however.

Rules of The Game

The rules of Pig are simple. The game features two players, whose goal is to reach 100 points first. Each turn, a player repeatedly rolls a die until either a 1 is rolled or the player holds and scores the sum of the rolls (i.e. the turn total). At any time during a player's turn, the player is faced with two decisions:

- roll - If the player rolls a
o 1: the player scores nothing and it becomes the opponent's turn.
o 2 - 6: the number is added to the player's turn total and the player's turn continues.
- hold - The turn total is added to the player's score and it becomes the opponent's turn.

The key to the game is this: on every roll, a player faces a decision about how large a turn total should be risked to possibly get an even larger total. You can play this online (requires java) to get a feel for the game.

Design
Now it is time to stop, and think about the design of the program. You could certainly write this assignment using no classes, but would clearly defeat the purpose of the assignment. How would you represent the game as a collection of objects? What entities do you think are in the game that should be modeled as an object? The design for this program will be up to you, but your code must implement the game fully as described above and in the functional requirements.

To help guide your design, you should think about the following entities:

- Players: in this case, we only need two (human) players per game, but how would we model a single player? What properties should it have and what actions should it have to implement?
- The Die: for this variant of Pig, we are using a single die. How can we model this as an object?

- How do we model the state of the game itself? For example, we need to track the players, their scores, and the die being used for the game.

Testability

- When using any random features in your code, make sure to use a random seed. To keep everyone consistent, use a seed of 0 at the beginning of your code.
- When asking the human for a decision, you should accept the letter 'r' to indicate a roll, or a `11' to indicate the player wants to hold
- When the game is over, the program should stop. To run another game, you need to run the program again.

Functional Requirements
- The game should continue until one of the players has a score that is greater than or equal to 100
- At every step, the program should output to the player what was rolled, the current score for this turn so far, and their total score in the game before asking for a decision.
- Every rule listed in the "Rules Of The Game" section should work (i.e., rolling a one ends a player's turn with no points added to their score)

Verified Expert

Pig dice game created using the python. This game is created using different rules which are given in the requirement. n number of players can able to play the game in a single time. both human players and computer players can play this game at the same time. The system will automatically generate the initial player and announces the result. functional requirements, design(according to the rules) and implementation were also done.

#### Design and implement a data structure for a social network

In this assignment you are required to design and implement a data structure for a social network (e.g., Facebook, LinkedIn, etc). You would also be required to implement an

#### Evaluate a user''s expression

Write a function that will evaluate a user's expression. It should call the getExpression function that you previously wrote to get the expression to evaluate from the user. Y

#### Implement key exchange using the diffie-hellman algorithm

Implement key exchange using the Diffie-Hellman algorithm, when peer-to-peer connections are made between bots. Achieve con dentiality through encryption of the client-server

#### The interest rate per period

The interest rate per period. For example, if your loan's interest is 6.5% per year, and you are paying monthly, this would be 6.5%/12. If you are paying every two weeks, r

#### Need an expert to guide in finishing the programs

I have built code for a soduko board. The progression has been done over 3 .py files. I'm having difficulty finishing several aspects, and need an expert to guide in finishi

#### Design and implement a python program which plays poker

The goal of this project is to gain practice with use of classes and creating functions. You will design and implement a Python program which plays simplified Texas Hold'em

Build a menu-driven application that will allow a user to maintain their collections. For example, I might have a coin collection, or a record collection, or a collection of

#### Implement the sieve of eratosthenes

Implement the Sieve of Eratosthenes and use it to find all prime numbers less than or equal to one million. Use the result to prove Goldbach's Conjecture for all even intege

### Reviews

#### len2183614

12/2/2018 10:23:00 PM

For this assignment, you will be implementing a simple game called Pig. Details on the game can be obtained from the link attached Also, the same details will be on the first page that was scanned in. Lastly, please work with me on the price. Also, I' am a repeat customer, and I' am sure to have more assignments for you before the end of this month.

#### len2183614

12/2/2018 10:22:13 PM

Extra Credit For extra credit, you can: • Implement the same game as above but that allows for a configurable number of players (via a command line parameter called --numPlayers) • Allow for more than one game at at time. Remember, at the end of a game, the scores and the game state need to be reset