| using System;
public class Die {
private int numberOfEyes;
private Random randomNumberSupplier;
private readonly int maxNumberOfEyes;
public Die (Die d){
numberOfEyes = d.numberOfEyes;
randomNumberSupplier = d.randomNumberSupplier;
maxNumberOfEyes = d.maxNumberOfEyes;
}
public Die (): this(6){}
public Die (int maxNumberOfEyes){
randomNumberSupplier = new Random(unchecked((int)DateTime.Now.Ticks));
this.maxNumberOfEyes = maxNumberOfEyes;
numberOfEyes = randomNumberSupplier.Next(1,maxNumberOfEyes + 1);
}
public void Toss (){
numberOfEyes = randomNumberSupplier.Next(1,maxNumberOfEyes + 1);
}
public int NumberOfEyes() {
return numberOfEyes;
}
public override String ToString(){
return String.Format("Die[{0}]: {1}", maxNumberOfEyes, numberOfEyes);
}
} |