示例#1
0
        /// <summary>
        /// Returns an array containing enumerated combinations.
        /// </summary>
        public static CardSet[] Combin(DeckDescriptor deckDescr, int count, CardSet sharedCards, CardSet deadCards)
        {
            CardSet           unused    = deadCards | sharedCards;
            int               combCount = (int)EnumAlgos.CountCombin(deckDescr.Size - unused.CountCards(), count);
            CombinArrayParams p         = new CombinArrayParams();

            p.arr = new CardSet[combCount];
            Combin(deckDescr, count, sharedCards, deadCards, OnCombinArray, p);
            return(p.arr);
        }
示例#2
0
 static void OnCombinArray(ref CardSet cards, CombinArrayParams p)
 {
     p.arr[p.count++] = cards;
 }