# alias: Balancing # button-text: Balancing (Lev) # gib-works: true # bba-works: true # auction-filter: Auction.....\n1[CDHS] +Pass +Pass +[PX1-7] # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- After LHO opening is passed to you... • Pass • Overcall a suit (7-17 at the 1-level, 11-17 at the 2 level) • Balancing NT (11-15) • Take-out Double (10+ short in opener's suit w/at least 3 cards in each unbid suit) • Jump Overcall (15-17 w/good 6-card suit) • Too Strong to Overcall (18+) -- start with double • Two-Suits -- cue bid • 2NT -- 20-21 This scenario attempts to offer all options with about the same frequency. @chat*/ /* Balancing */ # Balancing dealer east # Define North's good suits GoodS = spades(north)>4 and top5(north,spades)>2 GoodH = hearts(north)>4 and top5(north,hearts)>2 GoodD = diamonds(north)>4 and top5(north,diamonds)>2 GoodC = clubs(north)>4 and top5(north,clubs)>2 suits = GoodS + GoodH + GoodC + GoodD oneSuit6 = suits == 1 and shape(north,any 6xxx) oneSuit5 = suits == 1 and not oneSuit6 # For cue bid -- both majors of one major and one minor twoSuits = (GoodS and GoodH) or ((GoodS or GoodH) and (GoodD or GoodC)) # Predict East's opening suit s = spades(east) h = hearts(east) d = diamonds(east) c = clubs(east) oS = s>4 and s>=h and s>=d and s>=c oH = not oS and h>4 and h>=d and h>=c oD = not (oS or oH) and ((d>3 and d>=c) or c<3) oC = not (oS or oH or oD) openingSuit = (oS or oH or oD or oC) # Calculate East's Rank eRS = oS ? 4 : 0 eRH = oH ? 3 : 0 eRD = oD ? 2 : 0 eRC = oC ? 1 : 0 eastRank = eRS+eRH+eRD+eRC ##### Define calm South -- copied from CalmOpps and modified for South # Avoid concentration of values ccs = top4(south,clubs)<2 cds = top4(south,diamonds)<2 chs = top4(south,hearts)<2 css = top4(south,spades)<2 noConSouth = ccs and cds and chs and css unbalSouth = shape(south,xxxx -any 8xxx -any 7xxx -any 6xxx -any 55xx) balSouth = shape(south,any 4333 +any 4432) calmSouth = (unbalSouth and noConSouth and hcp(south)<8) or (balSouth and hcp(south)<12) ##### # West passes wS = oS and spades(west)<3 wH = oH and hearts(west)<3 and spades(west)<4 wD = oD and diamonds(west)<4 and hearts(west)<4 and spades(west)<4 wC = oC and clubs(west)<5 and hearts(west)<4 and spades(west)<4 wPasses = hcp(west)<6 and (wS or wH or wD or wC) and shape(west,xxxx-any 9xxx-any 8xxx-any 7xxx-any 6xxx) and hcp(west,diamonds)<4 # North's longest/highest ranking suit sn = spades(north) hn = hearts(north) dn = diamonds(north) cn = clubs(north) sS = sn>=hn and sn>=dn and sn>=cn sH = not sS and hn>=dn and hn>=cn sD = not sS and not sH and dn>=cn sC = not sS and not sH and not sD # Calculate North's Rank nRS = sS ? 4 : 0 nRH = sH ? 3 : 0 nRD = sD ? 2 : 0 nRC = sC ? 1 : 0 northRank = nRS + nRH + nRD + nRC nshortC = oC and clubs(north)<3 nshortD = oD and diamonds(north)<3 nshortH = oH and hearts(north)<3 nshortS = oS and spades(north)<3 nShort = (nshortC or nshortD or nshortH or nshortS) nCs = oC and clubs(north)>1 and controls(north,clubs)>1 nDs = oD and diamonds(north)>1 and controls(north,diamonds)>1 nHs = oH and hearts(north)>1 and controls(north,hearts)>1 nSs = oS and spades(north)>1 and controls(north,spades)>1 nNT = (nCs or nDs or nHs or nSs) and shape(north,any 5332+any 4432+any 4333-5xxx-x5xx) nSSPV = shape(north,any 0xxx) ? 3 : 0 nSSPS = shape(north,any 1xxx) ? 1 : 0 nSSP = nSSPV + nSSPS + hcp(north) nOC1 = hcp(north)>5 and ((oneSuit5 and hcp(north)<18) or (oneSuit6 and hcp(north)<16)) and northRank>eastRank nOC2 = hcp(north)>10 and ((oneSuit5 and hcp(north)<18) or (oneSuit6 and hcp(north)<16)) and not nOC1 nTOX = shape(north, any 5440+any 4441+any 4432) and nSSP>10 and not (nOC1 or nOC2) nOCN = nNT and hcp(north)>10 and hcp(north)<16 and not (nOC1 or nOC2 or nTOX) nJOC = oneSuit6 and hcp(north)>14 and hcp(north)<18 and not (nOC1 or nOC2 or nTOX or nOCN) nTSO = (oneSuit5 or oneSuit6) and hcp(north)>17 and not (nOC1 or nOC2 or nTOX or nOCN or nJOC) nTS = twoSuits and hcp(north)>9 and not (nOC1 or nOC2 or nTOX or nOCN or nJOC or nTSO) n2NT = nNT and hcp(north)>19 and hcp(north)<22 and not (nOC1 or nOC2 or nTOX or nOCN or nJOC or nTSO or nTS) # East opens eOpens = (oS or oH or oD or oC) and hcp(east)>11 and hcp(east)<15 #include "script/Leveling" levnOC1 = nOC1 and keep03 levnOC2 = nOC2 and keep045 levnTOX = nTOX and keep015 levnOCN = nOCN and keep11 levnJOC = nJOC and keep19 levnTSO = nTSO and keep06 levnTS = nTS and keep89 levn2NT = n2NT and keep levelTheDeal = (levnOC1 or levnOC2 or levnTOX or levnOCN or levnJOC or levnTSO or levnTS or levn2NT) eOpens and wPasses and calmSouth and (nOC1 or nOC2 or nTOX or nOCN or nJOC or nTSO or nTS or n2NT) and levelTheDeal produce 5000 action average "(hcp east) " hcp(east), average "(hcp north) " hcp(north), average "overcall at 1-level " 100 * nOC1, average "overcall at 2-level " 100 * nOC2, average "take-out X " 100 * nTOX, average "blancing NT " 100 * nOCN, average "jump overcall " 100 * nJOC, average "too strong to overcall " 100 * nTSO, average "two suits " 100 * nTS, average "2NT " 100 * n2NT,