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