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