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