コード例 #1
0
        static void Update(Poker.PokerGame.Poker poker, HandEvaluator handEvaluator)
        {
            var table = poker.GetData();
            System.Console.Clear();

            var hand = handEvaluator.EvaluateCards(Enumerable.Concat(table.ActivePlayer.Cards, table.DealerCards).ToList());

            System.Console.WriteLine(@"Turn: {0}", table.ActivePlayer.Name);
            System.Console.Write(@"Your best hand: {0} ", hand.Rank);
            foreach (var card in hand.HandCards)
            {
                System.Console.Write(@"{0} ", ShortStringCard(card));
            }
            System.Console.WriteLine();

            System.Console.WriteLine(@"      -----------------------------------");
            System.Console.WriteLine(@"    /                                     \");
            System.Console.WriteLine(@"   /                                       \");
            System.Console.WriteLine(@"  /             {0,-14}              \", table.DealerCards.Count >= 1 ? table.DealerCards[0].ToString() : new string('?', 14));
            System.Console.WriteLine(@" /              {0,-14}               \", table.DealerCards.Count >= 2 ? table.DealerCards[1].ToString() : new string('?', 14));
            System.Console.WriteLine(@"|               {0,-14}                |", table.DealerCards.Count >= 3 ? table.DealerCards[2].ToString() : new string('?', 14));
            System.Console.WriteLine(@"|               {0,-14}                |", table.DealerCards.Count >= 4 ? table.DealerCards[3].ToString() : new string('?', 14));
            System.Console.WriteLine(@"|               {0,-14}                |", table.DealerCards.Count >= 5 ? table.DealerCards[4].ToString() : new string('?', 14));
            System.Console.WriteLine(@"|                  ${0,-6}                    |", table.Pot);
            System.Console.WriteLine(@"|                                             |");
            System.Console.WriteLine(@" \                                           /");
            System.Console.WriteLine(@"  \                                         /");

            System.Console.Write(@"   \    ");
            foreach (var player in table.Players)
            {
                var bet = table.Bets.FirstOrDefault(x => x.Player == player);
                System.Console.Write("${0,-11}", bet == null ? 0 : bet.Amount);
            }
            System.Console.WriteLine(@"    /");

            System.Console.Write(@"    \  ");
            foreach (var player in table.Players)
            {
                var firstCard = player.Cards.Count >= 1 ?
                    string.Format("{0} ", ShortStringCard(player.Cards[0]))
                    : string.Format("{0} ", "?");

                var secondCard = player.Cards.Count >= 2 ?
                    string.Format("{0}", ShortStringCard(player.Cards[1]))
                    : string.Format("{0}", "?", "");

                System.Console.Write("{0,-11}", firstCard + " " + secondCard);
            }
            System.Console.WriteLine("    /");
            System.Console.WriteLine(@"      -----------------------------------");

            System.Console.Write(@"      ");
            foreach (var player in table.Players)
            {
                System.Console.Write("{0,-13}", player.Name);
            }
            System.Console.WriteLine("");

            System.Console.Write(@"      ");
            foreach (var player in table.Players)
            {
                System.Console.Write("${0,-12}", player.Wallet.Money);
            }
            System.Console.WriteLine(@"                                      ");
            System.Console.WriteLine(@"	   Fold, Call, Raise, Check");
        }