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; }
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(); }
public Player(int id, string displayName, IGameStateNotifier gameNotifier) { PlayerId = id; DisplayName = displayName; _gameNotifier = gameNotifier; }