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