Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Problem IN JAVA : In the game of c-r-a-p-s (Chegg won't let me post the actual word), a pass line bet proceeds as follows. Two

Problem IN JAVA

: In the game of "c-r-a-p-s"(Chegg won't let me post the actual word), a pass line bet proceeds as follows. Two six sided dice are rolled: the first roll of the dice in a c-r-a-p-s 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 c-r-a-p using these rules without human input.

Instead of asking for a wage, the program should calculate whether the player would win

or lose. The program should simulate rolling 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 (wins/ (wins + losses)) and out put this value.

Note: to simulate the dice rolling use Random class to generate numbers between 1 and 6

inclusive or you can use the random method from the Math class.

Here is an example series:

The shooter throws the dice on a come out roll, which starts a new series, and a 5 is rolled. (Recall that rolling a 7 or 11 would have been winners and 2, 3, or 12 would have been losers.)

The shooter has established a Point of 5.

The shooter throws the dice again and rolls an 8.

Nothing happens and player rolls the dice again.

The shooter throws the dice again and rolls a 3. (Note that rolling a 2, 3, 11, or 12 after a point is established means nothing )

The shooter throws the dice again and rolls a 5.

This is the shooter's point so this is a win and the series ends.

Your program should:

* Declare the variables numOfWins and numOfLoss to keep track of the number of times player wins or loses

* Add a loop to your program so that the game is played 10,000 times.

* Add another loop so the player can start a new set of games.

* declare a constant for the number of games being played. (10,000)

* Simulate rolling the two dice and calculate the sum. This first roll will establish the comeOutRoll . (use Random class to generate random numbers for the dice)

* Pass this first comeOutRoll to a method called winOrLose. This method will return a string. If it returns:

* win: means a win. Then the variable numOfWins must be incremented in the main method.

* loss: means a loss then the variable numOfLoss must be incremented in the main method

* The Point: means a point has been established. Therefore set the variable thePoint to the comeOutRoll. Then the method keepRollingmust be called to roll the dice until a 7 or the point is rolled. This method will return a string:

* seven means a loss. therefore the variable numOfLoss must be incremented in the main method

* the point means a win. Therefore, the variable numOfWin must be incremented in the main method

* At the end of the 10,000 games, call the method winProability to compute the probability of winning (wins/wins + losses)

* output the value returned

* Ask the user if she/he wants to start a new game.

* Output a good by message if the user does not want to play again.

List of the methods for the C-r-a-p-s game

1. main method: Has only one line of code which is a call to the method play

public static void main(String[] args){

play()

description() }

2. method play:

public static void play()

{

Declare your variables numOfwin, numOfLoss, thePoint, comeOutRoll,

numOfPlays and set them to zero

boolean playagain = true

While (playAgain)

{

for (int i =0; i< 10,000; i++)

{

* Since you roll the dice two times you need to generate two

random numbers between 1 and 6 inclusive and then add them

up. This will be the value for the variable

comeOutRol

* Call the method winOrLoss

based on the returned value from this method:

* increment the variable numOfWins

* or increment the variable numOfLoss

* or set the variable thePoint to comeOutRoll and then call the method keepRolling.

Based on the value returned from this method adjust the value of numOfLoss and NumOfWin

}

call the method winProability

output the return value from the method winProability

reset all the variables

ask the user if he/she wants to start another set of games

}

3. winOrLoss method: in this method you can only have one return statement.

public static String winOrLoss(int comeOutRoll)

{

// if comeOutroll is 7 or 11 return win

//if comeOutRoll is 2, 3, or 12 return the string Loss

//if comeOutRoll is 4, 5, 6,8, 9, or 10 return the stringthe point

}

4. description method: outputs the description of the game

public static void description()

{

//output the description

}

5. KeepRolling method : you must only use one return statement.

public static String(int thePoint)

{

//keep rolling the dice until you get thePoint or your get seven.

//return the string seven if you get a seven

//return the string thePoint if you get the point

}

6. winProability method :

public static double winProability(int wins, int losses)

{

//calculate the proability

//return the value

}

Sample output:

Computer will play a c-r-a-p game for you. Here are the

rules of the game:

Two six sided dice is rolled

Come out roll: The first roll of the dice in a c-r-a-p-s

round

A come out roll of 7 or 11 automatically wins

A come out roll of 2, 3, or 12 automatically losses

A come out roll of 4, 5, 6, 8, 9, or 10 becomes The Point

If the player gets the point he/she will keep playing by

rolling the dice until he/she gets a 7 or the point.

If the point is rolled first, then the player wins the

bet.

If a 7 is rolled first, then the player loses.

Lets start playing

In the simulation we :

won 4905 times

lost 5095 times,

for a probability of 0.4905

Hit enter key to continue

Would you like to play another game yes/no?dsfdf

Would you like to play another game yes/no?sdf

Would you like to play another game yes/no?ds

Would you like to play another game yes/no?123

Would you like to play another game yes/no?yes

In the simulation we :

won 9750 times

lost 10250 times,

for a probability of 0.4875

Hit enter key to continue

Would you like to play another game yes/no? yes

In the simulation we :

won 14722 times

lost 15278 times,

for a probability of 0.4907

Hit enter key to continue

Would you like to play another game yes/no? no

Have a nice day. GoodBye

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions