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. **Part 1:** Write a computer program in Java that allows a user to play this game against a computer. 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. 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". I have included templates for a `Game` class, a computer `ComputerPlayer` class and a test class, `OddEven` on Codio. Note that there is no class for the human player as this can be handled easily enough in the Game class. **** I have attached the photo of 5 java files in one screenshot. Please add code to ComputerPlayer.java, Game.java and Simulation.java. The files OddEven.java and SimTest.java do not need to modify. ** *** This is part one of the question and I will post part two later. ***

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
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 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.

**Part 1:** Write a computer program in Java that allows a user to play this game against a computer. 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. 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". I have included templates for a `Game` class, a computer `ComputerPlayer` class and a test class, `OddEven` on Codio. Note that there is no class for the human player as this can be handled easily enough in the Game class.  

 

**** I have attached the photo of 5 java files in one screenshot. Please add code to ComputerPlayer.java, Game.java and Simulation.java. The files OddEven.java and SimTest.java do not need to modify. **

*** This is part one of the question and I will post part two later. ***

*

O ComputerPlayer.java
OddEven.java
/**
* This class represents a computer
* player in the Odd-Even game
/**
* A tester for the Odd-Even game.
Your code must work with this program. Do not modify this class.
*/
public class OddEven{
public class ComputerPlayer{
private double t;
private int tokenBalance;
public static void main(String ] args){
Game g = new Game ();
g.play();
public ComputerPlayer(double threshold){
t=threshold;
tokenBalance=0;
// your code here
SimTest.java
/***
* This is a sample tester for Part 2 of your program
* We will use something similar to this to test your work
Your program must work with this tester
I Game.java
**
* This class represents the Odd-Even game
*/
public class SimTest{
public static void main(String ] args){
//instantiate a game with two computer players
Game g = new Game(.5,.5);
g.play(1000); // play 1000 games. Please, no print statements.
System.out.println("Player i now has "+ g.getP1Score()+" tokens.");
System.out.printin("Player 2 now has "+ g.getP2Score()+" tokens.");
public class Game{
// your instance variables here:
/* this version of the game constructor is for Part 1
* it takes no parameters */
public Game (){
// your code here
/* this version of the game constructor is for Part 2
* It requires two doubles as parameters. You will use
* these to set the initial thresholds for you computer players */
public Game (double t1, double t2){
// your code here
/* this version of the play method is for Part 1
* It takes no parameters and should play the interactive
* version of the game */
public void play(){
// your code here
Simulation.java
/**
* This class should run simulations to determine
* whether or not the Od-Even game is fair and if
* not who has the advantage and what is a strategy
* that will realize that adavantage.
/** this version of the play method is for Part 2
* It takes a single int as a parameter which is the
* number of computer vs. computer games that should be played */
public void play(int games){
// your code here
*/
/* this method should return the current score (number of tokens)
* that player 1 has */
public int getP1Score(){
// your code here
public class Simulation{
public static void main(String [] args){
// your code here
}
/* this method should return the current score (number of tokens)
that player 2 has */
public int getP2Score() {
// your code here
}
// you may or may not want more methods here:
Transcribed Image Text:O ComputerPlayer.java OddEven.java /** * This class represents a computer * player in the Odd-Even game /** * A tester for the Odd-Even game. Your code must work with this program. Do not modify this class. */ public class OddEven{ public class ComputerPlayer{ private double t; private int tokenBalance; public static void main(String ] args){ Game g = new Game (); g.play(); public ComputerPlayer(double threshold){ t=threshold; tokenBalance=0; // your code here SimTest.java /*** * This is a sample tester for Part 2 of your program * We will use something similar to this to test your work Your program must work with this tester I Game.java ** * This class represents the Odd-Even game */ public class SimTest{ public static void main(String ] args){ //instantiate a game with two computer players Game g = new Game(.5,.5); g.play(1000); // play 1000 games. Please, no print statements. System.out.println("Player i now has "+ g.getP1Score()+" tokens."); System.out.printin("Player 2 now has "+ g.getP2Score()+" tokens."); public class Game{ // your instance variables here: /* this version of the game constructor is for Part 1 * it takes no parameters */ public Game (){ // your code here /* this version of the game constructor is for Part 2 * It requires two doubles as parameters. You will use * these to set the initial thresholds for you computer players */ public Game (double t1, double t2){ // your code here /* this version of the play method is for Part 1 * It takes no parameters and should play the interactive * version of the game */ public void play(){ // your code here Simulation.java /** * This class should run simulations to determine * whether or not the Od-Even game is fair and if * not who has the advantage and what is a strategy * that will realize that adavantage. /** this version of the play method is for Part 2 * It takes a single int as a parameter which is the * number of computer vs. computer games that should be played */ public void play(int games){ // your code here */ /* this method should return the current score (number of tokens) * that player 1 has */ public int getP1Score(){ // your code here public class Simulation{ public static void main(String [] args){ // your code here } /* this method should return the current score (number of tokens) that player 2 has */ public int getP2Score() { // your code here } // you may or may not want more methods here:
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY