* This game is meant for two or more players. In the game, the * players take tu
ID: 3794840 • Letter: #
Question
* This game is meant for two or more players. In the game, the * players take turns flipping a coin. Before the coin is flipped, the * players should guess if the coin will land face up or face down. * If a player guesses correctly, then that player is awarded a point. If the player guess * incorrectly, than that player will lose a point. The first player to score five points wins. * * Write a program that simulates the game being played by two players. Use coin class to simulate * the coin and a player class to simulate the players.
Explanation / Answer
// Player.java
import java.util.Random;
class Player
{
private int playerScore;
public Player()
{
playerScore = 0;
}
public void incrementScore()
{
playerScore++;
}
public void decrementScore()
{
if(playerScore > 0)
playerScore--;
else
System.out.println("Score already zero");
}
public int getPlayerScore()
{
return playerScore;
}
}
// Coin.java
import java.util.Random;
import java.util.Scanner;
class Coin
{
private static String coinSide;
public Coin()
{
this.coinSide = "Head";
coinToss();
}
public int coinToss()
{
Random randnumber = new Random();
int number = randnumber.nextInt(2);
if (number == 0)
{
this.coinSide = "Head";
}
else
{
this.coinSide = "Tail";
}
return number;
}
public static String getcoinSide()
{
return coinSide;
}
public static void main(String args[])
{
Scanner scan = new Scanner(System.in);
Player p1 = new Player();
Player p2 = new Player();
Coin coin1 = new Coin();
Coin coin2 = new Coin();
while(true)
{
System.out.print("Player 1, Enter 1 for tail or 0 for heads: ");
int inputGuess = scan.nextInt();
if(inputGuess == coin1.coinToss())
{
p1.incrementScore();
System.out.println("Correct guess, Coin side: " + Coin.getcoinSide());
}
else
{
p1.decrementScore();
System.out.println("Bad guess, Coin side: " + Coin.getcoinSide());
}
System.out.println("Player 1 current score: " + p1.getPlayerScore());
System.out.print("Player 2, Enter 1 for tail or 0 for heads: ");
inputGuess = scan.nextInt();
if(inputGuess == coin2.coinToss())
{
p2.incrementScore();
System.out.println("Correct guess, Coin side: " + Coin.getcoinSide());
}
else
{
p2.decrementScore();
System.out.println("Bad guess, Coin side: " + Coin.getcoinSide());
}
System.out.println("Player 2 current score: " + p2.getPlayerScore());
if(p1.getPlayerScore() == 5)
{
System.out.println();
System.out.println("Player 1 wins");
break;
}
else if(p2.getPlayerScore() == 5)
{
System.out.println();
System.out.println("Player 2 wins");
break;
}
}
}
}
/*
output:
Player 1, Enter 1 for tail or 0 for heads: 1
Score already zero
Bad guess, Coin side: Head
Player 1 current score: 0
Player 2, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 2 current score: 1
Player 1, Enter 1 for tail or 0 for heads: 0
Correct guess, Coin side: Head
Player 1 current score: 1
Player 2, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 2 current score: 2
Player 1, Enter 1 for tail or 0 for heads: 0
Bad guess, Coin side: Tail
Player 1 current score: 0
Player 2, Enter 1 for tail or 0 for heads: 1
Bad guess, Coin side: Head
Player 2 current score: 1
Player 1, Enter 1 for tail or 0 for heads: 0
Correct guess, Coin side: Head
Player 1 current score: 1
Player 2, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 2 current score: 2
Player 1, Enter 1 for tail or 0 for heads: 1
Bad guess, Coin side: Head
Player 1 current score: 0
Player 2, Enter 1 for tail or 0 for heads: 0
Correct guess, Coin side: Head
Player 2 current score: 3
Player 1, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 1 current score: 1
Player 2, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 2 current score: 4
Player 1, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 1 current score: 2
Player 2, Enter 1 for tail or 0 for heads: 1
Bad guess, Coin side: Head
Player 2 current score: 3
Player 1, Enter 1 for tail or 0 for heads: 0
Bad guess, Coin side: Tail
Player 1 current score: 1
Player 2, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 2 current score: 4
Player 1, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 1 current score: 2
Player 2, Enter 1 for tail or 0 for heads: 1
Correct guess, Coin side: Tail
Player 2 current score: 5
Player 2 wins
*/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.