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