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