Esempio n. 1
0
        // Deal XX cards to all players
        public void DealPlayers(int cards, enumStartHand?resetCards = enumStartHand.DoNothing)
        {
            if (resetCards == enumStartHand.ClearAllPlayersCardsFirst)
            {
                LinkPlayers.ClearPlayersHands();
            }

            for (int i = 0; i < cards; i++)
            {
                LinkPlayers.All.ForEach(s => s.AddCard(this.DealOne()));
            }
        }
Esempio n. 2
0
        // Reshuffle discards into the deck
        public void RecycleDiscarded()
        {
            onDeckChange?.Invoke(enumOnDeckChange.BeforeRecyclingDeck, this);   // Trigger event
            _cards = GenerateDeck();                                            // Generate a new deck.
            List <Card> playersHave = LinkPlayers.AllPlayerCards();             // Get all the players cards.

            // Remove them from the newly created deck.
            playersHave.ForEach(s => {
                _cards.Remove(
                    _cards.Where(c => c.ToString() == s.ToString()).First()
                    );
            });

            ShuffleDeck();
            onDeckChange?.Invoke(enumOnDeckChange.AfterRecyclingDeck, this);    // Trigger event
        }