Question:

In the game of craps, a pass line bet proceeds as follows. Two six-sided dice are

rolled; the first roll of the dice in a craps round is called the “come out roll.” A come

out roll of 7 or 11 automatically wins, and a come out roll of 2, 3, or 12 automatically

loses. If 4, 5, 6, 8, 9, or 10 is rolled on the come out roll, that number

becomes the point. The player keeps rolling the dice until either 7 or the point is

rolled. If the point is rolled first, then the player wins the bet. If a 7 is rolled first,

then the player loses.

Write a program that simulates a game of craps using these rules without human

input. Instead of asking for a wager, the program should calculate whether the player

would win or lose. The program should simulate rolling the two dice and calculate

the sum. Add a loop so that the program plays 10,000 games. Add counters that

count how many times the player wins, and how many times the player loses. At the

end of the 10,000 games, compute the probability of winning [i.e., Wins / (Wins +

Losses)] and output this value. Over the long run, who is going to win the most

games, you or the house?

Note: To generate a random number x, where 0 x ≤< 1, use x = Math.random(); .

For example, multiplying by 6 and converting to an integer results in an integer that

is between 0 and 5.

Code:`public class CrapsGame`

{

public static int gameswon = 0;

public static int gameslost = 0;

public static int max = 6;

public static int min = 1;

public static void main(String[] args)

{

int diceValue,diceValue2,point;

for ( int i = 0 ; i < 10000; i++)

{

diceValue = diceSimulator(max,min );

System.out.println("original dicevalue is " + diceValue);

switch (diceValue)

{

case 7:

case 11:

gameswon++;

break;

case 2:

case 3:

case 12:

gameslost++;

break;

default:

point = diceValue;

do{

System.out.println("point " + point );

diceValue2 = diceSimulator(max,min);

if (diceValue2 == point)

{System.out.println("point is rolled..woo hooo");

gameswon++;}

else if

(diceValue2 == 7)

{System.out.println("7 is rolled..boo");

gameslost++;}

else

{

System.out.println("diceValue2 is " + diceValue2);

}

}

while ((diceValue2 != 7) && (diceValue2 != point) );

break;

}

}

System.out.println("games won: " + gameswon);

System.out.println("games lost: " + gameslost);

System.out.printf("Probability of winning:%.2f " , (double) gameswon/ (gameswon + gameslost));

}

public static int diceSimulator(int nmax,int nmin)

{

int randomn1 = (int) ( nmin + Math.random() * ((nmax - nmin + 1) ));

int randomn2 = (int) (nmin + Math.random() * ((nmax - nmin + 1 ))) ;

int random = randomn1 + randomn2;

return random;

}

}