//////////// COMBINATORICS //////////// public Dictionary <string, List <HoldemHand> > generateHoldemHandCombos(HashSet <Card> liveCards, bool toPrint = false) { var processed = new List <Card>(); var hands = new List <HoldemHand>(); foreach (Card c1 in liveCards) { foreach (Card c2 in liveCards) { if (c1 != c2 && !processed.Contains(c2)) { var pHand = new HoldemHand(new List <Card>() { c1, c2 }); if (!hands.Contains(pHand)) { hands.Add(pHand); } } } processed.Add(c1); } foreach (HoldemHand h in hands) { if (holdemHands.Keys.Contains(h.getInitials())) { holdemHands[h.getInitials()].Add(h); } else { holdemHands[h.getInitials()] = new List <HoldemHand>(); } } if (toPrint) { Console.WriteLine("#### HAND TYPES ####"); foreach (string k in holdemHands.Keys) { var length = holdemHands[k].Count; Console.WriteLine(String.Format("{0} - {1}", k, length)); } } return(holdemHands); }
public void dealHand(Player player, List <Card> cards) { PreflopHand hand = new HoldemHand(cards); player.setHand(hand); }