using Model.Dice; using Model.Players; using System.Collections.Generic; namespace Model.Games { public class MasterOfCeremonies { public IManager GlobalPlayerManager { get; private set; } public IManager>> DieGroupManager { get; private set; } public IManager GameManager { get; private set; } public MasterOfCeremonies(IManager globalPlayerManager, IManager>> globalDieManager, IManager gameManager) { GlobalPlayerManager = globalPlayerManager; DieGroupManager = globalDieManager; GameManager = gameManager; } /// /// creates a new game /// /// /// /// /// public Game StartNewGame(string name, IManager playerManager, IEnumerable dice) { Game game = new(name, playerManager, dice); return GameManager.Add(game); } /// /// plays one turn of the game /// /// the game from which a turn will be played public static void PlayGame(Game game) { Player current = game.GetWhoPlaysNow(); game.PerformTurn(current); game.PrepareNextPlayer(current); } } }