Exemple #1
0
        /// <summary>
        /// Deals one card face up.
        /// </summary>
        /// <returns>The card that has been dealt from the deck.</returns>
        public Card DealCardUp()
        {
            Card c = deck.Pop();

            currentPlayer.AddCard(c);
            if (currentPlayer.PlayerType == PlayerType.AI)
            {
                GameControler.DisplayAIReceives(currentPlayer.Name, c);
            }
            return(c);
        }
Exemple #2
0
        /// <summary>
        /// Draw some cards, facing up, depending on how many cards where discarded, and remove the discards.
        /// </summary>
        /// <returns>The list of drawn cards, null if there are no discards.</returns>
        public List <Card> DrawCardsUp()
        {
            int cardsToDraw = currentPlayer.Hand.FindAll(c => c.Discard).Count;

            if (cardsToDraw <= 0)
            {
                return(null);
            }
            List <Card> drawn = new List <Card>();

            for (int i = 0; i < cardsToDraw; i++)
            {
                Card c = deck.Pop();
                currentPlayer.AddCard(c);
                drawn.Add(c);
                if (currentPlayer.PlayerType == PlayerType.AI)
                {
                    GameControler.DisplayAIReceives(currentPlayer.Name, c);
                }
            }
            currentPlayer.RemoveDiscards();
            return(drawn);
        }