internal void UpdatePlayer(ServerHoldemPlayer player)
        {
            var                pos   = _playerPositions[player.PlayerNum];
            var                x     = pos.X;
            var                y     = pos.Y;
            var                stack = player.StackSize + "     ";
            ConsoleLine        playerName;
            ConsoleLine        stackSize;
            var                holeCards = player.HoleCards();
            List <ConsoleLine> cards;

            switch (pos.Type)
            {
            case PositionType.Top:
                playerName = new ConsoleLine(x, y, player.Name);
                stackSize  = new ConsoleLine(x, y + 1, stack);
                cards      = BuildCards(holeCards, x, y + 5, player.IsAlive);
                break;

            case PositionType.Right:
                playerName = new ConsoleLine(x + 15, y, player.Name);
                stackSize  = new ConsoleLine(x + 15, y + 1, stack);
                cards      = BuildCards(holeCards, x, y, player.IsAlive);
                break;

            case PositionType.Bottom:
                playerName = new ConsoleLine(x, y + 7, player.Name);
                stackSize  = new ConsoleLine(x, y + 8, stack);
                cards      = BuildCards(holeCards, x, y, player.IsAlive);
                break;

            case PositionType.Left:
                playerName = new ConsoleLine(x, y, player.Name);
                stackSize  = new ConsoleLine(x, y + 1, stack);
                cards      = BuildCards(holeCards, x + 12, y, player.IsAlive);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            DrawLines(new List <ConsoleLine> {
                playerName, stackSize
            }, ConsoleColor.Black, ConsoleColor.White);
            DrawLines(cards, ConsoleColor.White, ConsoleColor.Black);
        }
        public void UpdatePlayerAction(bool isAlive, int playerNum, EActionType act, int amount)
        {
            var         pos    = _playerPositions[playerNum];
            var         x      = pos.X;
            var         y      = pos.Y;
            var         action = act.ToString().Replace("Action", "") + "  ";
            var         bet    = amount + "    ";
            ConsoleLine playerAction;
            ConsoleLine betAmount;

            switch (pos.Type)
            {
            case PositionType.Top:
                playerAction = new ConsoleLine(x, y + 2, action);
                betAmount    = new ConsoleLine(x, y + 3, bet, ConsoleColor.Green);
                break;

            case PositionType.Right:
                playerAction = new ConsoleLine(x + 15, y + 2, action);
                betAmount    = new ConsoleLine(x + 15, y + 3, bet, ConsoleColor.Green);
                break;

            case PositionType.Bottom:
                playerAction = new ConsoleLine(x, y + 6, action);
                betAmount    = new ConsoleLine(x, y + 5, bet, ConsoleColor.Green);
                break;

            case PositionType.Left:
                playerAction = new ConsoleLine(x, y + 2, action);
                betAmount    = new ConsoleLine(x, y + 3, bet, ConsoleColor.Green);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            DrawLines(new List <ConsoleLine> {
                playerAction, betAmount
            }, ConsoleColor.Black, isAlive ? ConsoleColor.Cyan : ConsoleColor.Red);
        }