示例#1
0
 public IEnumerable <(Card, int)> Draw(Hand hand, Board board, CardCollection graveyard)
 {
     return(deckDistribution.Select(kvp => (kvp.Key, kvp.Value - hand.Count(kvp.Key) - board.Count(kvp.Key) - graveyard.Count(kvp.Key))).Where(x => x.Item2 > 0));
 }
示例#2
0
        public BigInteger HandMicrostates(Hand hand)
        {
            var keys = deckDistribution.Keys;

            return(keys.Aggregate(new BigInteger(1), (c, n) => c * Utils.NChooseK(deckDistribution[n], hand.Count(n))));
        }