public void TestCards() { var spades2 = new Card { Rank = "2", Suit = "k" }; var hearts2 = new Card { Rank = "3", Suit = "b" }; var hearts21 = new Card { Rank = "3", Suit = "c" }; var hearts22 = new Card { Rank = "2", Suit = "p" }; var hearts23 = new Card { Rank = "3", Suit = "p" }; var detector = new PokerHandsDetector(); var pokerHands = detector.Detect(new List <Card> { spades2, hearts2 }, new List <Card> { hearts21, hearts22, hearts23 }); var b = pokerHands >= PokerHands.ThreeOfAKind; Assert.AreEqual(PokerHands.FullHouse, pokerHands); }
private static int RunDecisionTrees2(Player me, GameState state) { if (state.Players.Count(e => e.Status != PlayerStatus.Out) == 4 && me.HoleCards.Any(e => e.Rank_int > 8)) { return(performer.AllIn(state)); } var positionGoodness = desider.GetPositionGoodness(me, state); Console.WriteLine("Goodness {0}", positionGoodness); if (positionGoodness > 0.5 && state.Round == 0) { return(performer.Raise(state, me, me.Stack / 2)); } if (detector.Detect(state) >= PokerHands.ThreeOfAKind) { return(performer.Raise(state, me, me.Stack / 2)); } var needToCall = performer.Call(state, me); var letsCall = needToCall < 0.1 * me.Stack; var toAdd2 = letsCall ? performer.Call(state, me) : performer.Check(state); Console.WriteLine("Letscall={0} adding {1}", letsCall, toAdd2); return(toAdd2); }
public void Test(IEnumerable <Card> cards, PokerHands expected) { var detector = new PokerHandsDetector(); var pokerHands = detector.Detect(cards); Assert.AreEqual(expected, pokerHands); }