Results 1 to 11 of 11
 11302010, 01:10 PM #1Member
 Join Date
 Apr 2010
 Posts
 22
 Rep Power
 0
looks good looking for suggestions..
Question:
In the game of craps, a pass line bet proceeds as follows. Two sixsided 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.
Java 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; } }

Suggestion: ask an answerable question.
 11302010, 01:16 PM #3Senior Member
 Join Date
 Jun 2008
 Posts
 2,571
 Rep Power
 10
 11302010, 01:18 PM #4Member
 Join Date
 Apr 2010
 Posts
 22
 Rep Power
 0
i am terribly sorry but i dont understand
it is obvious that you guys are thousand times more experienced with java compared to me ..so i just asked for a suggestion..
i needed someone to tell me if my code is good or bad...
if good how can i improve it
if bad how can i improve it.....
 11302010, 01:47 PM #5Senior Member
 Join Date
 Jun 2008
 Posts
 2,571
 Rep Power
 10
So then say that.
Return question: Does it work?

Have you tested it? Does it work for all tested conditions? If not, what doesn't work?...
 11302010, 01:49 PM #7Member
 Join Date
 Apr 2010
 Posts
 22
 Rep Power
 0
yes it works...(i think soo...)
i am asking if my method is right....
is there a method by which i can write better code than this...
 11302010, 01:51 PM #8
 Join Date
 Sep 2008
 Location
 Voorschoten, the Netherlands
 Posts
 14,018
 Blog Entries
 7
 Rep Power
 23
I have the stamina of a seal; I lie on the beach instead of running on it.
 11302010, 01:52 PM #9Member
 Join Date
 Apr 2010
 Posts
 22
 Rep Power
 0
i actually thought about doing that...
can you please tell me whats wrong with that approach?
 11302010, 01:58 PM #10
 Join Date
 Sep 2008
 Location
 Voorschoten, the Netherlands
 Posts
 14,018
 Blog Entries
 7
 Rep Power
 23
You can generate 36 combinations with two dice; e.g. you can generate a 7 by throwing (1, 6), (2, 5), (3, 4), (4, 3), (5, 2) and (6, 1); those are six combinations out of 36 (1/6). Had you used a single random number the probability of throwing 7 would have been 1/11, which is incorrect.
kind regards,
JosI have the stamina of a seal; I lie on the beach instead of running on it.
 11302010, 01:59 PM #11Senior Member
 Join Date
 Jun 2008
 Posts
 2,571
 Rep Power
 10
Similar Threads

Looking for suggestions
By tonino in forum New To JavaReplies: 5Last Post: 09262010, 07:17 PM 
Book suggestions
By Lil_Aziz1 in forum Java AppletsReplies: 3Last Post: 01042010, 03:38 AM 
Hello Good Morning, Good afternoon, and Good Evening
By MrFreeweed in forum IntroductionsReplies: 3Last Post: 12112009, 04:32 PM 
Desktop Application  Suggestions
By jedai in forum AWT / SwingReplies: 0Last Post: 04262009, 04:43 AM 
any suggestions?
By PureAwesomeness in forum New To JavaReplies: 4Last Post: 01192009, 08:34 AM
Bookmarks