示例#1
0
 public static IEnumerable<IActivity> SelectMultipleRevealedCardsToPutOnTopOfDeck(IGameLog log, Player player, RevealZone revealZone)
 {
     var count = revealZone.Count();
     return count.Items(
         (i) => SelectARevealedCardToPutOnTopOfDeck(log, player, revealZone,
             string.Format("Select the {0} (of {1}) card to put on top of the deck.", i.ToOrderString(), count))
     );               
 }
示例#2
0
        public static IEnumerable <IActivity> SelectMultipleRevealedCardsToPutOnTopOfDeck(IGameLog log, Player player, RevealZone revealZone, ICard source)
        {
            var count = revealZone.Count();

            if (count == 1)
            {
                throw new ArgumentException("The reveal zone only contains one card. Cannot select multiples.");
            }

            return(count.Items(
                       (i) => SelectARevealedCardToPutOnTopOfDeck(log, player, revealZone,
                                                                  string.Format("Select the {0} (of {1}) card to put on top of the deck.", i.ToOrderString(), count), source)
                       ).Take(count - 1));
        }
示例#3
0
        public static IEnumerable<IActivity> SelectMultipleRevealedCardsToPutOnTopOfDeck(IGameLog log, Player player, RevealZone revealZone, ICard source)
        {            
            var count = revealZone.Count();
            if (count == 1)
                throw new ArgumentException("The reveal zone only contains one card. Cannot select multiples.");

            return count.Items(
                (i) => SelectARevealedCardToPutOnTopOfDeck(log, player, revealZone,
                    string.Format("Select the {0} (of {1}) card to put on top of the deck.", i.ToOrderString(), count), source)
            ).Take(count - 1);               
        }