# alias: Spear # button-text: Spear # gib-works: false # bba-works: true # auction-filter: Auction.....\n1[CD] +Pass +1N + # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Spear: Intervening after 1!C or 1!D (P) 1NT... • 2!C = both majors w/6+ HCP • 2!D = one major w/12+ HCP • 2!H = 5+!H usually less than 12 HCP • 2!S = 5+!S usually less than 12 HCP • X = Good hand usually balanced 12+ • 3x = natural good single suited hand https://www.advinbridge.com/this-week-in-bridge/571 @chat*/ # Spear Convention dealer east ## Predict Opening 1-Bid rotated to east ## # GIB opens 1N w/15-17 HCP or 15-16 and a 5-card major ntP = hcp(east) + shape(east,5xxx+x5xx) nt1 = shape(east, any 5332+any 4432+any 4333) and hcp(east)>14 and ntP<18 # GIB does not open with 5422 and a 5-card major # GIB does not open with 5422 and the strength to reverse nt2 = shape(east, 4252+4225+2452+2425+2254+2245) and hcp(east)>14 and hcp(east)<17 gibNT = nt1 or nt2 # Calculate length points for South (lengthPoints) lp1 = spades(east)>4 ? spades(east)-4 : 0 lp2 = hearts(east)>4 ? hearts(east)-4 : 0 lp3 = diamonds(east)>4 ? diamonds(east)-4 : 0 lp4 = clubs(east)>4 ? clubs(east)-4 : 0 lengthPoints = lp1 + lp2 + lp3 + lp4 # Define suit points for east (suitPoints) suitPoints = hcp(east) + lengthPoints twoNtShape = shape(east, any 4333 +any 4432 +any 5332 +any 5422) # Define ntPoint ranges oneNT = gibNT twoNT = twoNtShape and hcp(east)>19 and hcp(east)<22 threeNT = twoNtShape and hcp(east)>24 and hcp(east)<28 # Define Game Forcing 2C case1 = hcp(east)>21 case2 = hcp(east)>18 and losers(east)<5 and (spades(east)>5 or hearts(east)>5) case3 = hcp(east)>18 and losers(east)<4 and (diamonds(east)>5 or clubs(east)>5) gameForce2C = (case1 or case2 or case3) and not threeNT ### Predict East's opening BID P1 = gameForce2C P2 = P1 or threeNT or twoNT or oneNT # Predict East's Opening suit s = spades(east) h = hearts(east) d = diamonds(east) c = clubs(east) s1Range = suitPoints>11 and hcp(east)>9 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 East's opening BID eOneMinor = (oneClub or oneDiamond) and hcp(east)>11 and hcp(east)<15 // BBO often passes with 11 # Predict South's possible overcalls ocD = oC and diamonds(south)==5 ocH = hearts(south)==5 ocS = spades(south)==5 sOvercalls = (ocD or ocH or ocS) and hcp(south)>7 ## South Passes unbalSouth = shape(south,any 5440 +any 5431 +any 4441) and hcp(south)<10 balSouth = shape(south,any 5422 +any 5332 +any 4432 +any 4333) and hcp(south)<12 sPasses = (unbalSouth or balSouth) and not sOvercalls # Spread the HCP amoung unbid suits. Avoid 4-card higher ranking suits dMinHCP = oC ? 2 : 0 cMinHCP = oD ? 2 : 0 cMaxCards = oC ? 4 : 5 wS = spades(west)<4 and hcp(west,spades) >=2 wH = hearts(west)<4 and hcp(west,hearts) >=2 wD = diamonds(west)<5 and hcp(west,diamonds)>=dMinHCP wC = clubs(west)<=cMaxCards and hcp(west,clubs) >=cMinHCP wOneNT = hcp(west)>5 and hcp(west)<11 and shape(west,any 4333+any 4432 +any 5332 +any 5422) and wS and wH and wD and wC ## Define Advancer's Spear actions # Advancer's spades and hearts nS = top4(north,spades)==2 and spades(north)>3 nH = top4(north,hearts)==2 and hearts(north)>3 # Advancer's good spades and good hearts nGS = top3(north,spades)==2 and spades(north)>4 nGH = top3(north,hearts)==2 and hearts(north)>4 # Advancer's Spear bids twoC = nS and nH and hcp(north)>5 twoD = (nGS or nGH) and hcp(north)>11 and not twoC twoH = nGH and spades(north)<4 and hcp(north)>5 and hcp(north)<12 and not (twoC or twoD) // non-force needs upper limit twoS = nGS and hearts(north)<4 and hcp(north)>5 and hcp(north)<12 and not (twoC or twoD) // non-force needs upper limit X = shape(north,any 5422+any 5332+any 4432+any 4333) and hcp(north)>12 and not (twoC or twoD or twoH or twoS) nSpear = twoC or twoD or twoH or twoS or X # Define Leveling #include "script/Leveling" lev2C = twoC and keep lev2D = twoD and keep47 lev2H = twoH and keep67 lev2S = twoS and keep67 levX = X and keep06 levelTheDeal = lev2C or lev2D or lev2H or lev2S or levX # East opens 1 minor, South Passes, West bid's 1N, and North makes a Spear bid eOneMinor and sPasses and wOneNT and nSpear and levelTheDeal # produce 40 action # printoneline, average "3343" 100 * shape(west,3343), average "3334" 100 * shape(west,3334), average "3325" 100 * shape(west,3325), average "3244" 100 * shape(west,3244), average "3235" 100 * shape(west,3235), average "2344" 100 * shape(west,2344), average "2335" 100 * shape(west,2335), average "2245" 100 * shape(west,2245), average "2C 4+H & 4+S w/6+ " 100 * twoC, average "2D 5+H/S w/9+ " 100 * twoD, average "2H 5+H w/6-11 " 100 * twoH, average "2S 5+S w/6-11 " 100 * twoS, average "X bal w/12+ " 100 * X,