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           // TEN TIMES, CREATE A TWELVE SIDED DIE AND ROLL IT UNTIL YOU GET A 1
30            System.out.println("Ten times, roll a twelve sided die for a 1.");
31           for(int i = 1; i<= 10; i++) {
32               createAndRollTwelveSidedDieFor1();
33           }
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(); System.out.print(die.top() + " ");
41           die.roll(); System.out.print(die.top() + " ");
42           die.roll(); System.out.print(die.top() + " ");
43           die.roll(); System.out.print(die.top() + " ");
44           die.roll(); System.out.print(die.top() + " ");
45           System.out.println();
46       }
47   
48       private static void createAndRollTwentySidedDieFiveTimes() {
49           System.out.println("Roll a twenty sided die 5 times ...");
50           Die die2 = new Die(20);
51           die2.roll(); System.out.print(die2.top() + " ");
52           die2.roll(); System.out.print(die2.top() + " ");
53           die2.roll(); System.out.print(die2.top() + " ");
54           die2.roll(); System.out.print(die2.top() + " ");
55           die2.roll(); System.out.print(die2.top() + " ");
56           System.out.println();
57   
58       }
59   
60       private static void createAndRollStandardDie(int nrOfTimes) {
61           System.out.println("Roll a standard die " + nrOfTimes + " times ...");
62           Die lucky = new Die();
63           int i = 1;
64           while (i <= nrOfTimes) {
65               lucky.roll();
66               System.out.print(lucky.top() + " ");
67               i = i + 1;
68           }
69           System.out.println();
70       }
71   
72       private static void createAndRollNineSidedDie(int nrOfTimes) {
73           System.out.println("Roll a nine sided die " + nrOfTimes + " times ...");
74           Die die9 = new Die(9);
75           int x = 1;
76           while (x <= nrOfTimes) {
77               die9.roll();
78               System.out.print(die9.top() + " ");
79               x = x + 1;
80           }
81           System.out.println();
82       }
83   
84       private static void createAndRollStandardDieFor1() {
85           Die one = new Die();
86           one.roll();
87           System.out.print(one.top() + " ");
88           while ( one.top() != 1 ) {
89               one.roll();
90               System.out.print(one.top() + " ");
91           }
92           System.out.println();
93       }
94   
95       private static void createAndRollTwelveSidedDieFor1() {
96           Die twelve = new Die(12);
97           twelve.roll();
98           System.out.print(twelve.top() + " ");
99           while ( twelve.top() != 1 ) {
100              twelve.roll();
101              System.out.print(twelve.top() + " ");
102          }
103          System.out.println();
104  
105      }
106  }
107