Example #1
0
 static Hands getNext(Hands[] hands , int last)
 {
     return last
            == hands.Max(x => x.Position)
                ? hands.First()
                : hands.Where(x => x.Position > last).First();
 }
Example #2
0
        static string GetActionPositionRun(Hands[] hands, int position, int run, Enumeration.Street street)
        {
            var user = hands.Single(x => x.Position == position).User;
            string action;
            switch (street)
            {
                case Enumeration.Street.Blind:
                    action = hands.Single(x => x.Position == position).ActionBlind;
                    break;
                case Enumeration.Street.Preflop:
                    action = hands.Single(x => x.Position == position).ActionPreflop;
                    break;
                case Enumeration.Street.Flop:
                    action = hands.Single(x => x.Position == position).ActionFlop;
                    break;
                case Enumeration.Street.Turn:
                    action = hands.Single(x => x.Position == position).ActionTurn;
                    break;
                case Enumeration.Street.River:
                    action = hands.Single(x => x.Position == position).ActionRiver;
                    break;
                default:
                    throw new ArgumentException("this street does not exist", street.ToString());
            }

            if (action == string.Empty)
                return string.Empty;

            if (action.Split(',').Count() > run)
                return user + " " + action.Split(',')[run];

            return string.Empty;
        }
Example #3
0
        static Hands GetFirstPlayer(Hands[] hands, bool preflop)
        {
            int positionButton = hands.First().PositionButton;
            if (preflop)
            {
                var sb = getNext(hands, positionButton);
                var bb = getNext(hands, sb.Position);

                return getNext(hands, bb.Position);
            }

            return getNext(hands, positionButton);
        }
 /// <summary>
 /// Create a new Hands object.
 /// </summary>
 /// <param name="position">Initial value of the Position property.</param>
 /// <param name="pk">Initial value of the pk property.</param>
 /// <param name="positionButton">Initial value of the PositionButton property.</param>
 public static Hands CreateHands(global::System.Int32 position, global::System.Int32 pk, global::System.Int32 positionButton)
 {
     Hands hands = new Hands();
     hands.Position = position;
     hands.pk = pk;
     hands.PositionButton = positionButton;
     return hands;
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the Hands EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToHands(Hands hands)
 {
     base.AddObject("Hands", hands);
 }
Example #6
0
        private static bool ReplayStreet(Hands[] hands, Enumeration.Street street)
        {
            Console.WriteLine("-----------");
            Console.WriteLine("Action "+street);
            Console.WriteLine("-----------");

            int position = GetFirstPlayer(hands, street == Enumeration.Street.Preflop).Position;
            int firstPosition = position;

            int run = 0;
            string lastactionFromrun = string.Empty;
            while (true)
            {
                string action = GetActionPositionRun(hands, position, run, street);
                if (action != string.Empty)
                    Console.WriteLine(action);

                if (action.Contains("collected"))
                {
                    return false;
                }
                position = getNext(hands, position).Position;
                lastactionFromrun += action;
                if (position == firstPosition)
                {
                    if (lastactionFromrun == string.Empty)
                        break;

                    lastactionFromrun = string.Empty;
                    run++;
                }
            }
            return true;
        }