✏️ ♻️ 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 abstract class Die
{ {
public IEnumerable<Face> ListFaces => listFaces; public IEnumerable<Face> Faces => faces;
protected static readonly Random rnd = new(); protected static readonly Random rnd = new();
private readonly List<Face> listFaces = new(); private readonly List<Face> faces = new();
protected Die(params Face[] faces) 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()); int faceIndex = rnd.Next(0, Faces.Count());
return ListFaces.ElementAt(faceIndex); return Faces.ElementAt(faceIndex);
} }
} }
} }

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

Loading…
Cancel
Save