Question: Consider the following game between two players: Both players simultaneously declare one or two. Player 1 wins if the sum of the two declared numbers
Consider the following game between two players: Both players simultaneously declare "one" or "two". Player 1 wins if the sum of the two declared numbers is odd and Player 2 wins if the sum is even. In either case the loser is obliged to pay the winner (in tokens) the sum of the two declared numbers. So Player 1 may have to pay 2 or 4 tokens or may win 3 tokens. You can imagine a single session between two players involving many rounds. At the end of a session, one player may have won many tokens from the other.
Write a computer program in Java that allows a user to play a session (many rounds) against the computer. Both players should begin with 0 tokens and play until the human wants to quit. (Note: this means that one player will have a negative amount of tokens at the end and one player will have a positive amount.) When the human quits, the number of tokens each player has should be displayed before ending the session. The human should be given the choice to be either the "odd" or "even" player. Player 1 is always "odd" and Player 2 is always "even" so make sure human is assigned properly based on their choice. The computer's strategy will be as follows. A computer player will have a threshold variable, t. The computer will generate a random number between 0 and 1. (Note: Use Math.random() to generate the number). If the number is greater than t the computer will declare "two" if the random number is less than t the computer will declare "one". Note that there is no class for the human player as this can be handled easily enough in the Game class.
Now write a new modified version of the Game class so that it also allows two computer players to play a game against each other. Do this by overloading the constructor so that when a game is instantiated one may specify whether or not it is interactive or simulated. Since both players are computers in a simulated game each computer player will be a different object with its own threshold (instance) variable t and and its own score (tokens won or lost so far in a session).
You only have ComputerPlayer and Game class, with test classes for interactive and simulated.
In the interactive version, how do I make sure that player 1 is always odd and player 2 is always even as the user can choose whether to be odd or even? How do I make sure that tokenBalance updates correctly for the interactive and simulated versions?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
