//************************************* // Program Name: onedie.java * // Author: Pat Moss * // Date: Oct 10, 2005 Rev: 01 * // * // Demonstrate the class onedie, etc. * //************************************* // Represent one die with faces showing values // between 1 and n (numberofsides) public class onedie { private final int MIN = 1; // minimum numberofsides private final int MAX = 20; // maximum numberofsides private final int SIX = 6; // six sides for die private int numberofsides; // numberofsides face value private int faceValue; // current value for die // Constructors: Set the initial face value for the die public onedie() { numberofsides = SIX; faceValue = MIN; } public onedie(int numsides) { if ((numsides < MIN) || (numsides > MAX)) { // error -- so use the default values numberofsides = SIX; faceValue = MIN; } else { numberofsides = numsides; faceValue = MIN; } } // roll the die and return the result public int roll() { faceValue = (int) (Math.random() * numberofsides) + 1; return faceValue; } // face value accessor public int getFaceValue() { return faceValue; } // face value mutator public void setFaceValue(int value) { if ((value < MIN) || (value > numberofsides)) { // error -- so do nothing here } else { faceValue = value; } } // return a string representation of faceValue public String toString() { String result = Integer.toString(faceValue); return result; } }