The world’s Largest Sharp Brain Virtual Experts Marketplace Just a click Away
Levels Tought:
Elementary,Middle School,High School,College,University,PHD
| Teaching Since: | Apr 2017 |
| Last Sign in: | 103 Weeks Ago, 3 Days Ago |
| Questions Answered: | 4870 |
| Tutorials Posted: | 4863 |
MBA IT, Mater in Science and Technology
Devry
Jul-1996 - Jul-2000
Professor
Devry University
Mar-2010 - Oct-2016
Using below code, incorporate new code to answer:
Answer c) and e) with your conclusions expressed as literal text output from your program to the IDE console.
Example output:
Turn #Â Number of wins on that turn
    1      222768
    2       77103
    3       54910
    4       39173
    5       28275
    6       20174
    7       14454
    8       10285
    9        7364
   10        5257
   11        3862
   12        2715
   13        1951
   14        1437
   15        1037
   16         765
   17         550
   18         356
   19         276
   20+        801
Turn #Â Number of losses on that turn
    1      111052
    2      111027
    3       79389
    4       57512
    5       41107
    6       29404
    7       21442
    8       15393
    9       11179
   10        8042
   11        5600
   12        4258
   13        3145
   14        2175
   15        1579
   16        1142
   17         794
   18         568
   19         467
   20+       1212
Total Number of wins: 493513Â Total number of losses: 506487
Probability of winning: 0.493513
c) The probability of winning is about (your estimate%), which is very fair. You are just as likely to win as lose.
d) Average number of turns per game: 3.378512
e) You answer as literal output.
Â
// Fig. 6.8: e_18.java
// Craps class simulates the dice game craps.
import java.security.SecureRandom;
Â
public class e_18
{
Â
// create secure random number generator for use in method rollDice
private static final SecureRandom randomNumbers = new SecureRandom();
Â
// enum type with constants that represent the game status
private enum Status {CONTINUE, WON, LOST};
Â
// constants that represent common rolls of the dice
private static final int SNAKE_EYES = 2;
private static final int TREY = 3;
private static final int SEVEN = 7;
private static final int YO_LEVEN = 11;
private static final int BOX_CARS = 12;
Â
// plays one game of craps
public static void main(String[] args)
{
int myPoint = 0; // point if no win or loss on first roll
Status gameStatus; // can contain CONTINUE, WON or LOST
Â
int sumOfDice = rollDice(); // first roll of the dice
Â
// determine game status and point based on first roll
switch (sumOfDice)
{
case SEVEN: // win with 7 on first roll
case YO_LEVEN: // win with 11 on first roll
gameStatus = Status.WON;
break;
case SNAKE_EYES: // lose with 2 on first roll
case TREY: // lose with 3 on first roll
case BOX_CARS: // lose with 12 on first roll
gameStatus = Status.LOST;
break;
default: // did not win or lose, so remember point
gameStatus = Status.CONTINUE; // game is not over
myPoint = sumOfDice; // remember the point
System.out.printf("Point is %d%n", myPoint);
break;
}
Â
// while game is not complete
while (gameStatus == Status.CONTINUE) // not WON or LOST
{
sumOfDice = rollDice(); // roll dice again
Â
// determine game status
if (sumOfDice == myPoint) // win by making point
gameStatus = Status.WON;
else
if (sumOfDice == SEVEN) // lose by rolling 7 before point
gameStatus = Status.LOST;
}
Â
// display won or lost message
if (gameStatus == Status.WON)
System.out.println("Player wins");
else
System.out.println("Player loses");
}
Â
// roll dice, calculate sum and display results
public static int rollDice()
{
// pick random die values
int die1 = 1 + randomNumbers.nextInt(6); // first die roll
int die2 = 1 + randomNumbers.nextInt(6); // second die roll
Â
int sum = die1 + die2; // sum of die values
Â
// display results of this roll
System.out.printf("Player rolled %d + %d = %d%n",
die1, die2, sum);
Â
return sum;
}
}