Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This game is meant for two or more players. In the game, each player starts out

ID: 3790757 • Letter: T

Question

This game is meant for two or more players. In the game, each player starts out with 50 points, as each player takes a turn rolling the dice; the amount generated by the dice is subtracted from the player’s points. The first player with exactly one point remaining wins. If a player’s remaining points minus the amount generated by the dice results in a value less than one, then the amount should be added to the player’s points. (As an alternative, the game can be played with a set number turns. In this case, the player with the amount of points closest to one, when all rounds have been played, wins.)

Write a program that simulates the game being played by two players. Use the Die class that was presented in Chapter 6 to simulate the dice. Write a Player class to simulate the players. (in java)

die.java

import java.util.Random;

public class die
{
private int sides;
private int value;

public die()
{
    sides = 6;
    roll();
}

public void roll()
{
    Random r = new Random();
    value = r.nextInt(sides+1);
}

public int getValue()
{
    return value;
}

public int getSides()
{
    return sides;
}


}

Explanation / Answer


public class Player {

   int numberPlayers;
   int points;
   die d = new die();
   public Player(int n, int points)
   {
       this.numberPlayers = n;
       this.points = points;
   }
  
   public Player()
   {
       this(2, 50);
   }
  
   public int play()
   {
       int player1Points = this.points;
       int player2Points = this.points;
      
       boolean turn = true;
       while((player1Points != 1) && (player2Points != 1))
       {
           d.roll();
           int amount = d.getValue();
           if (turn)
           {
               if (player1Points - amount < 0)
               {
                   player1Points += amount;
               }
               else
               {
                   player1Points -= amount;
               }
               turn = false;
           }
           else
           {
               if (player2Points - amount < 0)
               {
                   player2Points += amount;
               }
               else
               {
                   player2Points -= amount;
               }
               turn = true;
           }
       }
      
       if (player1Points == 1)
       {
           return 1;
       }
       else
       {
           return 2;
       }
   }
  
   public static void main(String[] args)
   {
       Player p = new Player();
      
       System.out.println("Player " + p.play() + " wins");
   }
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote