コード例 #1
0
        private CompareResult Draw2CardsAndFight(Fighter host, Fighter guest)
        {
            var excluded = new List <Card>();

            excluded.AddRange(host.Holes);
            excluded.AddRange(guest.Holes);
            excluded.AddRange(_flops);

            var allCards             = Utils.GenerateAllCards().Except(excluded).ToArray();
            var twoCardsCombinations = Utils.Enumerate(allCards, 0, 2);

            var compareResult = new CompareResult(0, 0, 0);

            foreach (var twoCardsCombination in twoCardsCombinations)
            {
                var communityCards = new List <Card>();
                communityCards.AddRange(_flops);
                communityCards.AddRange(twoCardsCombination);
                var battleSetup = new BattleSetup(communityCards);

                compareResult.Add(FightBattleSetup(host, guest, battleSetup));
            }

            return(compareResult);
        }
コード例 #2
0
        public CompareResult Evaluate()
        {
            var possibleGuestFighters = EnumerateGuestFighters();
            var compareResult         = new CompareResult(0, 0, 0);

            foreach (var guestFighter in possibleGuestFighters)
            {
                var battleGround = new BattleGround();
                if (Flops != null)
                {
                    battleGround.SetFlops(Flops);
                }
                if (Turn != null)
                {
                    battleGround.SetTurn(Turn);
                }

                if (River != null)
                {
                    battleGround.SetRiver(River);
                }

                compareResult.Add(battleGround.Fight(HostFighter, guestFighter));
            }

            return(compareResult);
        }
コード例 #3
0
        private CompareResult Draw1CardAndFight(Fighter host, Fighter guest)
        {
            var excluded = new List <Card>();

            excluded.AddRange(host.Holes);
            excluded.AddRange(guest.Holes);
            excluded.AddRange(_flops);
            excluded.Add(_turn);

            var allCards = Utils.GenerateAllCards().Except(excluded).ToArray();

            var compareResult = new CompareResult(0, 0, 0);

            foreach (var river in allCards)
            {
                var communityCards = new List <Card>();
                communityCards.AddRange(_flops);
                communityCards.Add(_turn);
                communityCards.Add(river);
                var battleSetup = new BattleSetup(communityCards);

                compareResult.Add(FightBattleSetup(host, guest, battleSetup));
            }

            return(compareResult);
        }