In week 5 you were asked to create a 'Die' class. This class simulated the rolling of a single die, which can have a variable number of sides, and the number of sides is passed to the die on construction.

Your task this week is to create a 'Dice' class which contains a collection of 'Die' as a private variable and simulates the rolling of multiple dice.

You should include your 'Die' class in the code, in the same namespace as the 'Dice' class, and make a private variable to store an array of these 'Die' in the 'Dice' class.

The 'Dice' class must have 2 constructors:

public Dice(int dice)

This constructor creates an instance of Dice with the specified number of dice. These dice should have the same default number of faces as the 'Die' class (6), and the same default face value (1).

public Dice(int dice, int faces)

This constructor creates an instance of Dice with the specified number of dice, each with faces number of faces, and the same default face value as the 'Die' class (1). As with the 'Die' class, the minimum number of faces is 3.

The class must also have two other methods, which are similar to the methods of the 'Die' class:

public void RollDice()

This method must roll the dice.

public int GetFaceValue()

This method must return the total face value of all the dice (e.g. if there was 2 dice with face values 3 and 6, this should return 9)

Now, given the defaults, the code Dice myDice = new Dice(1); should create a single six-sided die, and rolling this should produce values between 1 and 6.

Dice myDice = new Dice(2, 4);, however, should create two four-sided dice. Rolling these dice should produce values between 2 and 8.

Note that no Main() function is provided. You should create your own Main() function for debugging your new class. Your Dice class will be instantiated and its methods called by the AMS in order to test it.

Sample code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DiceRoller {

public class Die {
// You should include your Die class from the previous exercise here
}// end class Die

public class Dice {
// Implement your 'Dice' class here
// ...
}// end class Dice

}
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.