Merge pull request 'changeDieClasses ---' (#62) from changeDieClasses into main
continuous-integration/drone/push Build is passing Details

Reviewed-on: #62
pull/75/head
Alexis Drai 2 years ago
commit 4fe026a094

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Model.Dice.Faces;
namespace Model.Dice
{
public abstract class AbstractDie<T> where T : AbstractDieFace
{
protected string Name;
public IEnumerable<T> ListFaces => listFaces;
private readonly List<T> listFaces = new();
private static readonly Random rnd = new();
protected AbstractDie(string name, params T[] faces)
{
Name = name;
listFaces.AddRange(faces);
}
public string GetName() => Name;
public T GetRandomFace()
{
int faceIndex = rnd.Next(1, ListFaces.Count() + 1);
return ListFaces.ElementAt(faceIndex);
}
public List<T> GetDieFaces()
{
return (List<T>)ListFaces;
}
}
}

@ -0,0 +1,18 @@
using Model.Dice.Faces;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.Dice
{
public class ColorDie : AbstractDie<ColorDieFace>
{
public ColorDie(string name, params ColorDieFace[] faces) : base(name, faces)
{
}
}
}

@ -0,0 +1,18 @@
using Model.Dice.Faces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.Dice
{
public class ImageDie : AbstractDie<ImageDieFace>
{
public ImageDie(string name, params ImageDieFace[] faces) : base(name, faces)
{
}
}
}

@ -0,0 +1,18 @@
using Model.Dice.Faces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.Dice
{
public class NumberDie : AbstractDie<NumberDieFace>
{
public NumberDie(string name, params NumberDieFace[] faces) : base(name, faces)
{
}
}
}
Loading…
Cancel
Save