public Player(IPlayerCommunicator playerCommunicator, IDeckShuffler deckShuffler) { PlayerCommunicator = playerCommunicator ?? throw new ArgumentNullException(nameof(playerCommunicator)); State = new PlayerState(deckShuffler); PlayerCommunicator.SetPlayerState(State); }
public PlayerState(IDeckShuffler deckShuffler) { Health = MaxHealth; _deck = new Deck(deckShuffler); _hand = new Hand(); for (int i = 0; i < InitialDrawSize; i++) { DrawCard(); } }
public DeckBuilder() { _cards = new List <PlayingCard>(); _deckShuffler = new DeckShuffler(); }
public DeckInitializer(IDeckGenerator deckGenerator, IDeckShuffler deckShuffler) { _deckGenerator = deckGenerator; _deckShuffler = deckShuffler; }
public Deck(IDeckShuffler shuffler) { _cards = new Stack <byte>(shuffler?.Shuffle(CardCosts) ?? new List <byte>(CardCosts.Reverse())); }