The game of Pig is a simple two-player dice game in which the first player to re
ID: 3668201 • Letter: T
Question
The game of Pig is a simple two-player dice game in which the first player to reach 100 or more points wins. Players take turns. On each turn a player rolls a six-sided die. After each roll:
If the player rolls a 2-6 then he can either:
ROLL AGAIN or
HOLD. At this point the sum of all rolls made this turn is added to the player's total score and it becomes the other player's turn.
If the player rolls a 1, then the player loses his turn. He gets no new points and it becomes the opponent’s turn.
If a player reaches 100 or more points after holding then the player wins.
Write C++ a program that plays the game of Pig, where one player is a human and the other is the computer. Allow the human to input “r” to roll again or “h” to hold.
The computer program should play according to the following rule: Keep rolling on the computer's turn until it has accumulated 20 or more points, then hold. Of course, if the computer wins or rolls a 1 then the turn ends immediately. Allow the human to roll first.
Write your program using at least two functions:
int humanTurn(int humanTotalScore);
int computerTurn(int computerTotalScore);
These functions should perform the necessary logic to handle a single turn for either the computer or the human. The input parameter is the total score for the human or computer. The functions should return the turn total to be added to the total score upon completion of the turn. For example, if the human rolls a 3 and 6 and then holds, then humanTurn should return 9. However, if the human rolls a 3 and 6 and then a 1, then the function should return 0.
Explanation / Answer
/*The game of Pig is a simple two player dice game in which the first player to reach 100 or more points wins. Players take turns. On each turn a player rolls a six-sided die. After each roll: If the player rolls a 2-6 then he can either: — ROLL AGAIN or — HOLD. At this point the sum of all rolls made this turn is added to the player’s total score and it becomes the other player’s turn. If the player rolls a 1 then the player loses his turn. He gets no new points and it becomes the opponent’s turn. If a player reaches 100 or more points after holding then the player wins. Write a program that plays the game of Pig, where one player is a human and the other is the computer. Allow the human to input “r” to roll again or “h” to hold. The computer program should play according to the following rule: Keep rolling on the computer's turn until it has accumulated 20 or more points, then hold. Of course, if the computer wins or rolls a 1 then the turn ends immediately. Allow the human to roll first. Write your program using at least two functions: int humanTurn(int humanTotalScore); int computerTurn(int computerTotalScore); These functions should perform the necessary logic to handle a single turn for either the computer or the human. The input parameter is the total score for the human or computer. The functions should return the turn total to be added to the total score upon completion of the turn. For example, if the human rolls a 3 and 6 and then holds, then humanTurn should return 9. However, if the human rolls a 3 and 6 and then a 1, then the function should return 0.*/ #include #include #include using std::cout; using std::cin; using std::endl; int dieRoll(); int humanTurn(int); int computerTurn(int); int main() { int humanTotalScore = 0, computerTotalScore = 0; srand(time(NULL)); //set a different seed for rand() every time to get different game outputs //loop to keep playing until someone scores 100+ do { humanTotalScore = humanTotalScore + humanTurn(humanTotalScore); //add the score from a new turn to the running total coutRelated Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.