Пример #1
0
 public TurnEngine(IGameState gameState,
                   IGameActionResolver gameActionResolver,
                   ICardResolver cardResolver,
                   IGameStateNotifier gameStateNotifier,
                   ILogger <TurnEngine> logger = null)
 {
     _gameState          = gameState ?? throw new ArgumentNullException(nameof(gameState));
     _gameActionResolver = gameActionResolver ?? throw new ArgumentNullException(nameof(gameActionResolver));
     _cardResolver       = cardResolver ?? throw new ArgumentNullException(nameof(cardResolver));
     _gameStateNotifier  = gameStateNotifier ?? throw new ArgumentNullException(nameof(gameStateNotifier));
     _logger             = logger;
 }
Пример #2
0
        public GameState(IGameStateNotifier gameStateNotifier, ILogger <GameState> logger)
        {
            _gameStateNotifier = gameStateNotifier;
            _logger            = logger;
            _players           = new List <IPlayer>
            {
                new Player(1, "John", _gameStateNotifier),
                new Player(2, "Jane", _gameStateNotifier),
                new Player(3, "Meep", _gameStateNotifier),
                new Player(4, "Milo", _gameStateNotifier),
                new Player(5, "Moop", _gameStateNotifier)
            };

            Deck = new FakeCardRepo().GetAllCardsAsync()
                   .GetAwaiter()
                   .GetResult()
                   .Where(c => c.Family != CardFamily.Lose && c.Family != CardFamily.LoseExtra && c.Family != CardFamily.ExtraLife)
                   .ToList();
            ShuffleDeck();
        }
Пример #3
0
 public Player(int id, string displayName, IGameStateNotifier gameNotifier)
 {
     PlayerId      = id;
     DisplayName   = displayName;
     _gameNotifier = gameNotifier;
 }