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);
        }
コード例 #2
0
        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);
        }