/// <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); }
/// <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); }