C# – I would like to output the results of the dice roll to the console however I am getting the error “An object reference is required for the non-static field, method, or property ‘Die.GetFaceValue()”
I have already asked this question three times and no one has uploaded code that works. Please check the full code works in your answer.
__________________________
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DiceRoller
{
public class Die
{
public static void Main(string[] args)
{
Console.WriteLine(“{0}”, Die.GetFaceValue());
Console.ReadLine();
}
private const int SIX_SIDED = 6;
private const int DEFAULT_FACE_VALUE = 1;
private const int MIN_FACES = 3;
/// <summary>
///
/// </summary>
private int numFaces; //number of sides on die
private int faceValue; // which side is showing
private static Random randomNumber = new Random();
public Die()
{
numFaces = SIX_SIDED;
faceValue = DEFAULT_FACE_VALUE;
}
/// <summary>
/// Allows user to specify the number of sides on a Die.
/// If “faces” is less than 3, a six-sided die is instantiated.
/// </summary>
/// <param name=”faces”> the numberr of sides</param>
public Die(int faces)
{
if (faces >= MIN_FACES)
{
numFaces = faces;
}
else
{
numFaces = SIX_SIDED;
}
RollDie();
}
/// <summary>
/// Simulates the rolling of a Die.
/// </summary>
public void RollDie()
{
faceValue = randomNumber.Next(1, numFaces + 1);
} // end RollDie
/// <summary>
/// Die accessor
/// </summary>
/// <returns> The current face of the Die</returns>
public int GetFaceValue()
{
return faceValue;
} //end GetFaceValue
}// end Class Die
}