# alias: InvitationalJump # button-text: 3-Under Invitational Jump (11-12 HCP) # gib-works: false # bba-works: true # auction-filter: Auction.....\n(1D Pass +3C|1H +Pass +3[CD]|1S Pass +3[CDH]) # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- 3 Under Invitational Jump (11-12 HCP) • 1!H - 3!C • 1!S - 3!C or 3!H NOTE: This does not include jumps to 3D which is a 4-card Limit Raise. https://tinyurl.com/4dvh42e7 @chat*/ dealer north # Gavin's 3 Under Invitational Jump (11-12 HCP) ## Predict North's opening bid ## # Calculate length points for north (lengthPoints) lp1 = spades(north)>4 ? spades(north)-4 : 0 lp2 = hearts(north)>4 ? hearts(north)-4 : 0 lp3 = diamonds(north)>4 ? diamonds(north)-4 : 0 lp4 = clubs(north)>4 ? clubs(north)-4 : 0 lengthPoints = lp1 + lp2 + lp3 + lp4 # Calculate doubleton honor NT downgrade(s) for north -- 2 cards, 1 honor, not the Ace S2H = spades(north)==2 and top4(north,spades)==1 and not hascard(north,AS) ? 1 : 0 H2H = hearts(north)==2 and top4(north,hearts)==1 and not hascard(north,AH) ? 1 : 0 D2H = diamonds(north)==2 and top4(north,diamonds)==1 and not hascard(north,AD) ? 1 : 0 C2H = clubs(north)==2 and top4(north,clubs)==1 and not hascard(north,AC) ? 1 : 0 ntDownGrade = S2H + H2H + D2H + C2H # Define notrump points for north (ntPoints) ntPoints = hcp(north) + lengthPoints - ntDownGrade # Define suit points for north (suitPoints) suitPoints = hcp(north) + lengthPoints # Define robot notrump shape ntShape = shape(north, any 4333 +any 4432 +any 5332 +any 5422) # Define ntPoint ranges oneNT = ntShape and ntPoints>14 and ntPoints<18 # Define Game Force 2C gameForce2C = suitPoints>21 ### Predict north's opening BID P1 = gameForce2C P2 = P1 or oneNT # Predict north's Opening suit s = spades(north) h = hearts(north) d = diamonds(north) c = clubs(north) s1Range = suitPoints>11 and suitPoints<22 oS = s>4 and s>=h and s>=d and s>=c and s1Range and not P2 oH = not oS and h>4 and h>=d and h>=c and s1Range and not P2 oD = not (oS or oH) and ((d>3 and d>=c) or c<3) and s1Range and not P2 oC = not (oS or oH or oD) and s1Range and not P2 openingSuit = (oS or oH or oD or oC) oneSpade = oS oneHeart = oH oneDiamond = oD oneClub = oC ## End of predict north's opening bid ## # Define NoMajorFit sFit = oneSpade and spades(south)>2 hFit = oneHeart and hearts(south)>2 noMajorFit = not (sFit or hFit) # Define pesky opps e/w distributions and HCP. We don’t want them mucking up our auctions calmEast = (shape(east,xxxx -any 8xxx -any 7xxx -any 6xxx -any 55xx) and hcp(east)<9) or (shape(east,any 4333 +any 4432) and hcp(east)<12) # Define South's good suits -- 6+ cards with 2 of the top 3 goodHearts = hearts(south)>5 and top3(south,hearts) >1 and oneSpade //only if north opened 1 spade goodClubs = clubs(south)>5 and top3(south,clubs) >1 # South does NOT have a major noMajorSouth = spades(south)<4 and hearts(south)<4 # Now do it. (oneSpade or (oneHeart and noMajorSouth)) // these include 12-21 suitPoints and calmEast and noMajorFit and hcp(south)>10 and hcp(south)<13 and (goodHearts or goodClubs) // or goodDiamonds