Die.java
1    /* 
2    * Model a die in terms of two properties: 
3    * - order, the number of faces 
4    * - top, the value of the top face 
5     */
6    package chance;
7    
8    public class Die {
9    
10       // THE INSTANCE VARIABLES (STATE)
11   
12       private int order;
13       private int top;
14   
15       // THE CONSTRUCTORS
16   
17       public Die() {
18           order = 6;
19           top = (int) ( ( Math.random() * 6) + 1);
20       }
21   
22       public Die(int nrOfSides) {
23           order = nrOfSides;
24           top = (int) ((Math.random() * 6) + 1);
25       }
26   
27       // THE METHODS (BEHAVIOR)
28   
29       public int top() {
30   
31           return top;
32       }
33   
34       public void roll() {
35   
36           top = (int) ((Math.random() * order) + 1);
37       }
38   }
39