Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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

ID: 3732682 • Letter: U

Question

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

namespace DieRoller {
/// <summary>
/// Represents one die (singular of dice) with faces showing values between
/// 1 and the number of faces on the die.
/// </summary>
public class Die {
// Implement your 'Die' class here

}// end Class Die

public class Program {
public static void Main() {
// You may want to test your Die class here.
Die myDie = new Die();
}
}
}

Only using C# create a Die class, which will allow for 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. The Die' class should have two private attributes. One which stores the number of faces (num Faces), and one which stores the current face value of the dice (faceValue)-ie, the face that is currently showing on the dice The 'Die' class must have 2 constructors public Die() This constructor creates an instance of Die with the default number of faces, which is 6. The face value should be set to the default face value, which is 1 public Die(int faces) This constructor creates an instance of Die with a specific number of faces. If 'faces' is less than the minimum number of faces (3), the default number of faces is instantiated (6). The face value should be set to the default face value (1) The class must also have three other methods to represent common behaviours of a die public void Rol1Die() This method must roll the die and store the value resulting from the roll internally - i.e. the new face value. Hint the Random class will be helpful here public int GetFaceValue() This method should be used to get the current face value of the die public int GetNumFaces() This method should be used to get the number of faces of the die Now, given the defaults, the code Die myDie new Die(); should create a single six-sided die, with a face value of 1 Die myDie new Die (10);, however, should create a 10-sided Die. Rolling this die should produce values between 1 and 10 Note that no Main() function is provided. You should create your own Main() function for debugging your new class

Explanation / Answer

Have a look at the C# code below. I have added comments for better understanding.If you still have any doubt please feel free to ask.

Code:

using System;

class Die {

private int face_value, faces;

// Default constructor

public Die() {

this.faces = 6;

this.face_value = 1;

}

// Constructor with faces

public Die(int faces) {

// If faces are less than 3

if (faces < 3) {

this.faces = 6;

this.face_value = 1;

} else {

this.faces = faces;

this.face_value = 1;

}

}

public void rollDie() {

Random r = new Random();

this.face_value = r.Next(1, this.faces);

}

// Get the current face value

public int getFaceValue() {

return this.face_value;

}

// Get the total number of faces

public int getFaces() {

return this.faces;

}

public static void Main() {

Die d1 = new Die();

Console.WriteLine("Default Die is created with " + d1.getFaces() + " faces and " + d1.getFaceValue() + " facevalue");

d1.rollDie();

Console.WriteLine("Die is rolled and " + d1.getFaceValue() + " is current facevalue");

Die d2 = new Die(9);

Console.WriteLine("Die is created with " + d2.getFaces() + " faces and " + d2.getFaceValue() + " facevalue");

d2.rollDie();

Console.WriteLine("Die is rolled and " + d2.getFaceValue() + " is current facevalue");

}

}

Output: