/**
 * Class that simulates a single die.
 *   @author Dave Reed
 *   @version 8/15/15
 */
 public class Die {
  private int numSides;   // number of die sides
  private int numRolls;   // number of rolls so far
 
  /**
   * Constructs a 6-sided die object
   */
  public Die() {
    this.numSides = 6;
    this.numRolls = 0;
  }

  /**
   * Constructs a die object
   *   @param sides number of die sides
   */
  public Die(int sides) {
    this.numSides = sides;
    this.numRolls = 0;
  }

  /**
   * Rolls the die, updating the number of rolls.
   *   @return random number between 1 and getNumSides()
   */
  public int roll() {
    this.numRolls++;
    return (int)(Math.random()*this.getNumberOfSides() + 1);
  }

  /**
   * Reports the number of sides on the die.
   *   @return number of die sides
   */
  public int getNumberOfSides() {
    return this.numSides;
  }

  /**
   * Reports the number of times the die has been rolled.
   *   @return number of die rolls so far
   */
  public int getNumberOfRolls() {
    return this.numRolls;
  }
  
  ////////////////////////////////////////////////////////
  
   public static void main(String[] args) {
      Die d1 = new Die();
      Die d2 = new Die();

      for (int i = 0; i < 10; i++) {
          int roll = d1.roll() + d2.roll();
          System.out.println("You rolled a " + roll);
      }


   }
} 
