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    
10       public static void main (String[] args) {
11           // CREATE A STANDARD DIE AND ROLL IT 5 TIMES
12           createAndRollStandardDieFiveTimes();
13           // CREATE A TWENTY SIDED DIE AND ROLL IT 5 TIMES
14           createAndRollTwentySidedDieFiveTimes();
15           // CREATE A STANDARD DIE AND ROLL IT 20 TIMES
16           createAndRollStandardDie(20);
17           // CREATE A STANDARD DIE AND ROLL IT 30 TIMES
18           createAndRollStandardDie(30);
19           // CREATE A NINE SIDED DIE AND ROLL IT 20 TIMES
20           createAndRollNineSidedDie(20);
21           // CREATE A NINE SIDED DIE AND ROLL IT 30 TIMES
22           createAndRollNineSidedDie(30);
23           // TEN TIMES, CREATE A STANDARD DIE AND ROLL IT UNTIL YOU GET A 1
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 1
29           System.out.println("Ten times, roll a twelve sided die for a 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       private static void createAndRollTwentySidedDieFiveTimes() {
46           System.out.println("Roll a twenty sided die 5 times ...");
47           Die die = new Die(20);
48           die.roll(); System.out.print(die.top() + " ");
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           System.out.println();
54       }
55   
56       private static void createAndRollStandardDie(int nrOfTimes) {
57           System.out.println("Roll a standard die " + nrOfTimes + " times ...");
58           Die lucky = new Die();
59          /* for (int i = 1; i <= nrOfTimes; i++) { 
60               lucky.roll(); 
61               System.out.print(lucky.top() + " "); 
62           } 
63           System.out.println(); 
64           */
65          int i = 1;
66          while (i <= nrOfTimes) {
67              lucky.roll();
68              System.out.print(lucky.top() + " ");
69              i++;
70          }
71          System.out.println();
72       }
73   
74       private static void createAndRollNineSidedDie(int nrOfTimes) {
75           System.out.println("Roll a nine sided die " + nrOfTimes + " times ...");
76           Die lucky = new Die(9);
77           int i = 1;
78           while (i <= nrOfTimes) {
79               lucky.roll();
80               System.out.print(lucky.top() + " ");
81               i++;
82           }
83           System.out.println();
84       }
85   
86       private static void createAndRollStandardDieFor1() {
87           Die die = new Die();
88           System.out.print(die.top() + " ");
89           while (die.top() != 1) {
90               die.roll();
91               System.out.print(die.top() + " ");
92           }
93           System.out.println();
94       }
95   
96       private static void createAndRollTwelveSidedDieFor1() {
97           Die die = new Die(12);
98           System.out.print(die.top() + " ");
99           while (die.top() != 1) {
100              die.roll();
101              System.out.print(die.top() + " ");
102          }
103          System.out.println();
104      }
105  
106  }
107