using System; // // Class for simulating a die // (object "rolled" to generate a random number) // class Dice { private int myRollCount; // # times die rolled // property to get and set the roll count public int NumRolls { get { return myRollCount; } // end get } // end property NumRolls private int mySides; // # sides on die // property to get and set the number of sides public int NumSides { get { return mySides; } // end get private set { mySides = value; } // end set } // end property NumSides // random number generator private Random myRandomNumbers; // constructor, sides specifies number of "sides" // for the die, e.g., 2 is a coin, 6 is a 'regular' die public Dice(int sides) { myRollCount = 0; NumSides = sides; myRandomNumbers = new Random(); } // // returns the random "roll" of the die, a uniformly // distributed random number between 1 and # sides // public int Roll() { // update # of times die rolled myRollCount += 1; // generate random number in range [1..mySides] return myRandomNumbers.Next(1, mySides + 1); } }