From 1149c916c413652731f2585de3160fc00bee7a5d Mon Sep 17 00:00:00 2001 From: Ismail TAHA JANAN Date: Fri, 30 Sep 2022 15:27:46 +0200 Subject: [PATCH] simple commit --- Sources/Data/Stub.cs | 4 +-- Sources/Model/Dice/AbstractDie.cs | 4 +-- Sources/Model/Dice/DieManager.cs | 49 ++++++++++++++++++++------- Sources/Model/Dice/HomogeneousDice.cs | 17 ++++++++++ Sources/Model/Dice/ImageDie.cs | 2 +- Sources/Model/Dice/NumberDie.cs | 2 +- Sources/Model/Games/Game.cs | 8 ++--- Sources/Model/Games/GameRunner.cs | 8 ++--- 8 files changed, 67 insertions(+), 27 deletions(-) create mode 100644 Sources/Model/Dice/HomogeneousDice.cs diff --git a/Sources/Data/Stub.cs b/Sources/Data/Stub.cs index e61ee46..38b7923 100644 --- a/Sources/Data/Stub.cs +++ b/Sources/Data/Stub.cs @@ -20,8 +20,8 @@ namespace Data gr.GlobalPlayerManager.Add(player3); - List> monopolyDice = new(); - List> dndDice = new(); + List monopolyDice = new(); + List dndDice = new(); string monopolyName = "Monopoly", dndName = "DnD"; diff --git a/Sources/Model/Dice/AbstractDie.cs b/Sources/Model/Dice/AbstractDie.cs index d9c4626..e9b6379 100644 --- a/Sources/Model/Dice/AbstractDie.cs +++ b/Sources/Model/Dice/AbstractDie.cs @@ -5,9 +5,9 @@ using Model.Dice.Faces; namespace Model.Dice { - public abstract class AbstractDie : RandomnessHaver where T : AbstractDieFace + public abstract class AbstractDie : RandomnessHaver { - public IEnumerable ListFaces => listFaces; + public IEnumerable> ListFaces => listFaces; private readonly List listFaces = new(); diff --git a/Sources/Model/Dice/DieManager.cs b/Sources/Model/Dice/DieManager.cs index 06e3a52..b13fe37 100644 --- a/Sources/Model/Dice/DieManager.cs +++ b/Sources/Model/Dice/DieManager.cs @@ -5,35 +5,45 @@ using System.Linq; namespace Model.Dice { - public class DieManager : IManager>>> + public class DieManager : IManager,object>>>> { - private readonly Dictionary>> diceGroups = new(); + private readonly Dictionary,object>>> diceGroups = new(); - public KeyValuePair>> Add(KeyValuePair>> toAdd) + public KeyValuePair,object>>> Add(KeyValuePair,object>>> toAdd) { // on trim la clé d'abord diceGroups.Add(toAdd.Key.Trim(), toAdd.Value); return toAdd; - } - - public IEnumerable>>> GetAll() + } + + public IEnumerable,object>>>> GetAll() { return diceGroups.AsEnumerable(); } - public KeyValuePair>> GetOneByName(string name) + public KeyValuePair,object>>> GetOneByName(string name) { // les groupes de dés nommés : // ils sont case-sensistive, mais "mon jeu" == "mon jeu " == " mon jeu" - return new KeyValuePair>>(name, diceGroups[name]); + return new KeyValuePair,object>>>(name, diceGroups[name]); } - public void Remove(KeyValuePair>> toRemove) + public void Remove(KeyValuePair,object>>> toRemove) { diceGroups.Remove(toRemove.Key); - } - - public KeyValuePair>> Update(KeyValuePair>> before, KeyValuePair>> after) + } + + /*public void Remove(KeyValuePair, object>>> toRemove) + { + throw new NotImplementedException(); + } + + public void Remove(KeyValuePair, object>>> toRemove) + { + throw new NotImplementedException(); + }*/ + + public KeyValuePair,object>>> Update(KeyValuePair,object>>> before, KeyValuePair,object>>> after) { // pas autorisé de changer les dés, juste le nom if (!before.Value.Equals(after.Value)) @@ -48,6 +58,19 @@ namespace Model.Dice return after; } return before; - } + } + + + IEnumerable, object>>>> IManager, object>>>>.GetAll() + { + throw new NotImplementedException(); + } + + + KeyValuePair, object>>> IManager, object>>>>.GetOneByName(string name) + { + throw new NotImplementedException(); + } + } } diff --git a/Sources/Model/Dice/HomogeneousDice.cs b/Sources/Model/Dice/HomogeneousDice.cs new file mode 100644 index 0000000..4f6cdce --- /dev/null +++ b/Sources/Model/Dice/HomogeneousDice.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Model.Dice.Faces; + +namespace Model.Dice +{ + public class HomogeneousDice: AbstractDie,object> + { + public HomogeneousDice(params AbstractDieFace[] faces) : base(faces) + { + + } + } +} diff --git a/Sources/Model/Dice/ImageDie.cs b/Sources/Model/Dice/ImageDie.cs index c537221..bf97ab4 100644 --- a/Sources/Model/Dice/ImageDie.cs +++ b/Sources/Model/Dice/ImageDie.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace Model.Dice { - public class ImageDie : AbstractDie + public class ImageDie : HomogeneousDice { public ImageDie(params ImageDieFace[] faces) : base(faces) { diff --git a/Sources/Model/Dice/NumberDie.cs b/Sources/Model/Dice/NumberDie.cs index bb8435e..6b2379e 100644 --- a/Sources/Model/Dice/NumberDie.cs +++ b/Sources/Model/Dice/NumberDie.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace Model.Dice { - public class NumberDie : AbstractDie + public class NumberDie : HomogeneousDice { public NumberDie(params NumberDieFace[] faces) : base(faces) { diff --git a/Sources/Model/Games/Game.cs b/Sources/Model/Games/Game.cs index 9ed1d40..303ae07 100644 --- a/Sources/Model/Games/Game.cs +++ b/Sources/Model/Games/Game.cs @@ -57,8 +57,8 @@ namespace Model.Games /// /// the group of dice used for this game /// - public IEnumerable> Dice => dice; - private readonly IEnumerable> dice; + public IEnumerable,object>> Dice => dice; + private readonly IEnumerable, object>> dice; /// /// constructs a Game with its own history of Turns. @@ -68,7 +68,7 @@ namespace Model.Games /// the turns that have been done so far /// the game's player manager, doing CRUD on players and switching whose turn it is /// the group of dice used for this game - public Game(string name, IManager playerManager, IEnumerable> dice, IEnumerable turns) + public Game(string name, IManager playerManager, IEnumerable, object>> dice, IEnumerable turns) { Name = name; PlayerManager = playerManager; @@ -83,7 +83,7 @@ namespace Model.Games /// the name of the game 😎 /// the game's player manager, doing CRUD on players and switching whose turn it is /// the group of dice used for this game - public Game(string name, IManager playerManager, IEnumerable> dice) + public Game(string name, IManager playerManager, IEnumerable, object>> dice) : this(name, playerManager, dice, null) { } diff --git a/Sources/Model/Games/GameRunner.cs b/Sources/Model/Games/GameRunner.cs index eb24f80..4498d7f 100644 --- a/Sources/Model/Games/GameRunner.cs +++ b/Sources/Model/Games/GameRunner.cs @@ -12,17 +12,17 @@ namespace Model.Games public class GameRunner : IManager { public IManager GlobalPlayerManager { get; private set; } - public IManager>>> GlobalDieManager { get; private set; } + public IManager,object>>>> GlobalDieManager { get; private set; } private readonly List games; - public GameRunner(IManager globalPlayerManager, IManager>>> globalDieManager, List games) + public GameRunner(IManager globalPlayerManager, IManager,object>>>> globalDieManager, List games) { GlobalPlayerManager = globalPlayerManager; GlobalDieManager = globalDieManager; this.games = games ?? new(); } - public GameRunner(IManager globalPlayerManager, IManager>>> globalDieManager) + public GameRunner(IManager globalPlayerManager, IManager,object>>>> globalDieManager) : this(globalPlayerManager, globalDieManager, null){ } @@ -65,7 +65,7 @@ namespace Model.Games /// /// creates a new game /// - public Game StartNewGame(string name, IManager playerManager, IEnumerable> dice) + public Game StartNewGame(string name, IManager playerManager, IEnumerable,object>> dice) { Game game = new(name, playerManager, dice); return Add(game);