Beispiel #1
0
        /// <summary>
        /// Creates the start bid.
        /// </summary>
        /// <param name="myHand">My hand.</param>
        /// <returns></returns>
        private PlacedBid CreateStartBid(IHand myHand)
        {
            // Start with >= 13 points
            // if less than 13 points, open with preemptive bid if holding a suite with six cards or more.
            int points = myHand.Points();
            int totalPoints = points + myHand.ExtraPoints();

            if(totalPoints < 13 && totalPoints > 6)
            {
                return OpenWithLessThan13(myHand);
            }

            if (totalPoints >= 13)
            {
                int basicPoints = myHand.Points();
                if (myHand.IsBalanced() && basicPoints >= 13)
                {
                    return BalancedHandOpener(myHand, basicPoints);
                }

                return OpenWith13PlusNoNTOpening(myHand);
            }

            return new PlacedBid(BidPass.Instance, new List<BidMeaning>() { new BidMeaning(0, 12, SuiteTells.NoTell) });
        }