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       public static void main(String[] args) {
11           //create a standard die and roll it five times
12           createAndRollStandardDieFiveTimes();
13           // create a twenty sided die and roll it five times
14           createAndRollTwentySidedDieFiveTimes();
15           // create a standard die and roll it twenty times
16           createAndRollStandardDie(20);
17           // create a standard die and roll it thirty times
18           createAndRollStandardDie(30);
19           // create a nine sided die and roll it twenty times
20           createAndRollNineSidedDie(20);
21           // create a nine sided die and roll it thirty times
22           createAndRollNineSidedDie(30);
23           // ten times, create a standard die and roll it until you get a one
24           System.out.println("Ten times, roll a standard die for a 1.");
25           for (int i = 1; i <= 10; i++) {
26               createAndRollStandardDieFor1();
27           }
28           //ten times, create a twelve sided die and roll it until you get a one
29           System.out.println("Ten times, roll a twelve sided die for 1.");
30           for (int i = 1; i <= 10; i++) {
31               createAndRollTwelveSidedDieFor1();
32           }
33       }
34   
35       private static void createAndRollStandardDieFiveTimes() {
36           System.out.println("Roll a standard die 5 times ...");
37           Die die = new Die();
38           die.roll(); System.out.print(die.top() + " ");
39           die.roll(); System.out.print(die.top() + " ");
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           System.out.println();
44       }
45   
46       private static void createAndRollTwentySidedDieFiveTimes() {
47           System.out.println("Roll a twenty sided die 5 times ...");
48           Die die = new Die(20);
49           die.roll(); System.out.print(die.top() + " ");
50           die.roll(); System.out.print(die.top() + " ");
51           die.roll(); System.out.print(die.top() + " ");
52           die.roll(); System.out.print(die.top() + " ");
53           die.roll(); System.out.print(die.top() + " ");
54           System.out.println();
55       }
56   
57       private static void createAndRollStandardDie(int nrOfTimes) {
58           System.out.println("Roll a standard die " + nrOfTimes + " times ...");
59           Die lucky = new Die();
60           int i = 1;
61           while (i <= nrOfTimes) {
62               lucky.roll();
63               System.out.print(lucky.top() + " ");
64               i = i + 1;
65           }
66           System.out.println();
67       }
68   
69       private static void createAndRollNineSidedDie(int nrOfTimes) {
70           System.out.println("Roll a nine-sided die " + nrOfTimes + " times ...");
71           Die lucky = new Die(9);
72           for (int i = 1; i <= nrOfTimes; i = i +1) {
73               lucky.roll();
74               System.out.print(lucky.top() + " ");
75           }
76           System.out.println();
77       }
78   
79       private static void createAndRollStandardDieFor1() {
80           Die forOne = new Die();
81           forOne.roll();
82           System.out.print(forOne.top() + " ");
83           while (forOne.top() != 1) {
84               forOne.roll();
85               System.out.print(forOne.top() + " ");
86           }
87           System.out.println();
88       }
89   
90       private static void createAndRollTwelveSidedDieFor1() {
91           Die forOne = new Die(20);
92           forOne.roll();
93           System.out.print(forOne.top() + " ");
94           while (forOne.top() != 1) {
95               forOne.roll();
96               System.out.print(forOne.top() + " ");
97           }
98           System.out.println();
99       }
100  }
101