✏️ ♻️ Rename Faces and override GetRandomFace()
continuous-integration/drone/push Build is passing Details

"ListFaces" was misleading because it is not a list
GetRandomFace should return a Face<T> when called from a HomogeneousDie
pull/106/head
Alexis Drai 3 years ago
parent f12997f1f8
commit 2fa185829f

@ -7,21 +7,21 @@ namespace Model.Dice
{
public abstract class Die
{
public IEnumerable<Face> ListFaces => listFaces;
public IEnumerable<Face> Faces => faces;
protected static readonly Random rnd = new();
private readonly List<Face> listFaces = new();
private readonly List<Face> faces = new();
protected Die(params Face[] faces)
{
listFaces.AddRange(faces);
this.faces.AddRange(faces);
}
public Face GetRandomFace()
public virtual Face GetRandomFace()
{
int faceIndex = rnd.Next(0, ListFaces.Count());
return ListFaces.ElementAt(faceIndex);
int faceIndex = rnd.Next(0, Faces.Count());
return Faces.ElementAt(faceIndex);
}
}
}

@ -7,5 +7,10 @@ namespace Model.Dice
protected HomogeneousDie(params Face<T>[] faces) : base(faces)
{
}
public override Face<T> GetRandomFace()
{
return (Face<T>)base.GetRandomFace();
}
}
}

Loading…
Cancel
Save