Roller.java
1    /* 
2     * Program to make use of the Die class. 
3     */
4    
5    package chanceapps;
6    
7    import chance.Die;
8    
9    public class Roller {
10   
11       public static void main(String[] args) {
12           // CREATE A STANDARD DIE AND ROLL IT 5 TIMES
13           createAndRollStandardDieFiveTimes();
14           // CREATE A TWENTY SIDED DIE AND ROLL IT 5 TIMES
15           createAndRollTwentySidedDieFiveTimes();
16           // CREATE A STANDARD DIE AND ROLL IT 20 TIMES
17           createAndRollStandardDie(20);
18           // CREATE A STANDARD DIE AND ROLL IT 30 TIMES
19           createAndRollStandardDie(30);
20           // CREATE A NINE SIDED DIE AND ROLL IT 20 TIMES
21           createAndRollNineSidedDie(20);
22           // CREATE A NINE SIDED DIE AND ROLL IT 30 TIMES
23           createAndRollNineSidedDie(30);
24           // TEN TIMES, CREATE A STANDARD DIE AND ROLL IT UNTIL YOU GET A 1
25           System.out.println("Ten times, roll a standard die for a 1.");
26           for (int i = 1; i <= 10; i++) {
27               createAndRollStandardDieFor1();
28           }
29   
30   // TEN TIMES, CREATE A TWELVE SIDED DIE AND ROLL IT UNTIL YOU GET A 1
31           System.out.println("Ten times, roll a twelve sided die for a 1.");
32           for (int i = 1; i <= 10; i++) {
33               createAndRollTwelveSidedDieFor1();
34           }
35       }
36   
37       private static void createAndRollStandardDieFiveTimes() {
38           System.out.println("Roll a standard die 5 times ...");
39           Die die = new Die();
40           die.roll();
41           System.out.print(die.top() + " ");
42           die.roll();
43           System.out.print(die.top() + " ");
44           die.roll();
45           System.out.print(die.top() + " ");
46           die.roll();
47           System.out.print(die.top() + " ");
48           die.roll();
49           System.out.print(die.top() + " ");
50           System.out.println();
51       }
52   
53       private static void createAndRollTwentySidedDieFiveTimes() {
54           System.out.println("Roll a 20 sided die 5 times ...");
55           Die die = new Die(20);
56           die.roll();
57           System.out.print(die.top() + " ");
58           die.roll();
59           System.out.print(die.top() + " ");
60           die.roll();
61           System.out.print(die.top() + " ");
62           die.roll();
63           System.out.print(die.top() + " ");
64           die.roll();
65           System.out.print(die.top() + " ");
66           System.out.println();
67       }
68   
69       private static void createAndRollStandardDie(int nrOfTimes) {
70           System.out.println("Roll a standard die " + nrOfTimes + " times . . .");
71           Die lucky = new Die();
72           int i = 1;
73           while (i <= nrOfTimes) {
74               lucky.roll();
75               System.out.print(lucky.top() + " ");
76               i = i + 1;
77           }
78           System.out.println();
79       }
80   
81       private static void createAndRollNineSidedDie(int nrOfTimes) {
82           System.out.println("Roll a 9 sided die " + nrOfTimes + " times . . .");
83           Die lucky = new Die(9);
84           int i = 1;
85           while (i <= nrOfTimes) {
86               lucky.roll();
87               System.out.print(lucky.top() + " ");
88               i = i + 1;
89           }
90           System.out.println();
91       }
92   
93       private static void createAndRollStandardDieFor1() {
94           Die lucky = new Die();
95           lucky.roll();
96           System.out.print(lucky.top() + " ");
97           while (lucky.top() != 1) {
98               lucky.roll();
99               System.out.print(lucky.top() + " ");
100          }
101          System.out.println();
102      }
103  
104      private static void createAndRollTwelveSidedDieFor1() {
105          Die lucky = new Die(12);
106          lucky.roll();
107          System.out.print(lucky.top() + " ");
108          while (lucky.top() != 1) {
109              lucky.roll();
110              System.out.print(lucky.top() + " ");
111          }
112          System.out.println();
113      }
114  
115  }