I need help with my Craps simulation game program. The rules for craps game can be easily found from Google.
This is what I have so far:
public class Craps {
//static class variables
static int Random, r1, r2, n;
//declare variables to be shared between methods here
public static Random r;
public static Scanner in;
static {
r = new Random();
in = new Scanner(System.in);
}
//this method returns a value between 2 and 12
//to stimulate the roll of the two dice
public static int roll() {
for (int i = 1; i<= 2; i++) {
int r= (int)(Math.random()*12);
System.out.println(Random);
}
return 0;
}
//this method implements the rules of the game for one round
//it calls the roll() method to stimulate throwing the dice
public static boolean round() {
boolean print = false;
//if roll 7 or 11 = win
int roll1 = roll();
if (print==true) System.out.print(roll1);
if (r1==7||r1==11) {
System.out.print("Win");
return true;
}
//if roll 2, 3, 12 = lose
else if (r1==2||r1==3||r1==12) {
System.out.print("Lost");
return false;
}
//if point equals same number as rolled the first time, win
else {
int r2=roll();
int point = roll1;
}
return false;
}
public static void main(String []args) {
//call the "round()" method n times in a loop
//to play n rounds
int n = 10;
for (int i = 1; i<=n; i++) {
boolean result = round();
}
boolean print;
//collect wins/losses at the end of rounds, output wins/n as percentage
for (int wins=0; wins<n; wins++) {
System.out.println("Winning percentage: " + (100 * wins / n) + "%");
}
}
}
Thus summarizing my questions are:
- Did I represent a random number between 2 and 12 to be generated to stimulate rolling the dice correctly in roll() method?
- How can I write a while loop to do repetition of my if-else loop decisions in round() method to allow additional rolls?
- How can I create a variable "point" to continue the play of rolls?
- How can I ask the user to input number of rounds "n"?
- How to get small amounts of user input from command line as an alternative to creating a Scanner in my main method?