예제 #1
0
        public void MakeAside(Player player, int nbCards)
        {
            DealingRules       dr          = new DealingRules();
            IEnumerable <Card> cardsInHand = player.Hand.Cast <Card>();

            var possibleAsideCards = cardsInHand.Where(x => dr.CardAllowedInPlayerAside(x.IsTrumper(), x.IsOudler(), x.Points())).ToList();

            if (possibleAsideCards.Count() == 0)
            {
                throw new NotSupportedException("Cannot make aside without possible cards");
            }

            var playerChoice = AskPlayerCards(player, possibleAsideCards, nbCards);

            player.WonHands.AddRange(playerChoice);
            playerChoice.ForEach(x => player.Hand.Remove(x));
        }