# alias: NegativeFreeBid # button-text: Negative Free Bid # gib-works: false # bba-works: true # auction-filter: 1[CDHS] (1[DHS]|2[CDHS]) [123][CDHS] # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB /*@chat --- Negative Free Bid North Opens & East Overcalls and South has no Major suit fit w/North and • 5-9 HCP with a good 5- or any 6-card suit (non-jump) or • 10-11 HCP with a good 6+ card suit (jump) https://kwbridge.com/bb/nfb-1.htm @chat*/ # Negative Free Bid dealer north # Predict North's opening suit sN = spades(north) hN = hearts(north) dN = diamonds(north) cN = clubs(north) nS = sN>4 and sN>=hN and sN>=dN and sN>=cN nH = not nS and hN>4 and hN>=dN and hN>=cN nD = not nS and not nH and ((dN>3 and dN>=cN) or cN<3) nC = not nS and not nH and not nD # Calculate North's Rank nRS = nS ? 4 : 0 nRH = nH ? 3 : 0 nRD = nD ? 2 : 0 nRC = nC ? 1 : 0 northRank = nRS+nRH+nRD+nRC // all except one are zero # East's longest suit sE = spades(east) hE = hearts(east) dE = diamonds(east) cE = clubs(east) eS = sE>=hE and sE>=dE and sE>=cE eH = not eS and hE>=dE and hE>=cE eD = not eS and not eH and dE>=cE eC = not eS and not eH and not eD # Calculate East's Rank eRS = eS ? 4 : 0 eRH = eH ? 3 : 0 eRD = eD ? 2 : 0 eRC = eC ? 1 : 0 eastRank = eRS+eRH+eRD+eRC # South's longest suit s = spades(south) h = hearts(south) d = diamonds(south) c = clubs(south) sS = s>=h and s>=d and s>=c sH = not sS and h>=d and h>=c sD = not sS and not sH and d>=c sC = not sS and not sH and not sD # Calculate South's Rank sRS = sS ? 4 : 0 sRH = sH ? 3 : 0 sRD = sD ? 2 : 0 sRC = sC ? 1 : 0 southRank = sRS + sRH + sRD + sRC # East's Good Suits eGS = eS and top3(east,spades)>1 eGH = eH and top3(east,hearts)>1 eGD = eD and top3(east,diamonds)>1 eGC = eC and top3(east,clubs)>1 # East's Good Suit gSE = (eGS or eGH or eGD or eGC) # North opens northOpens = hcp(north)>11 and hcp(north)<15 # Kill east's takeout double and NT eSfit = nS and spades(east)>1 // east has 2 or more of north's opening suit eHfit = nH and hearts(east)>1 eDfit = nD and diamonds(east)>1 eCfit = nC and clubs(east)>1 eShape = (eSfit or eHfit or eDfit or eCfit) and shape(east, any 5332 +any 5431 +any 6331) eastOvercalls = hcp(east)>10 and hcp(east)<15 and eShape and gSE # South's Good Suits sGS = sS and top4(south,spades)>2 sGH = sH and top4(south,hearts)>2 sGD = sD and top4(south,diamonds)>2 sGC = sC and top4(south,clubs)>2 # South's Good Suit gSS = (sGS or sGH or sGD or sGC) calm = shape(south, xxxx -any 76xx -any 75xx -any 66xx -any 65xx -any 55xx) a6 = shape(south, any 7xxx +any 6xxx) and calm // any 6+ g5 = gSS and shape(south, any 5xxx) and calm // good 5 a6g5 = (a6 or g5) and (hcp(south) > 4 and hcp(south) < 10) // (any 6+ or good 5) and 5-9 g6 = a6 and gSS and hcp(south) > 9 and hcp(south) < 12 // good 6+ and 10-12 rankOK = (northRank > eastRank) or (northRank > southRank) or (eastRank > southRank) // eliminate 1-level bids for south sFit = nS and spades(south)>2 // eliminate hands where South has support for North's major hFit = nH and hearts(south)>2 fitOK = not sFit and not hFit southResponds = fitOK and rankOK and (a6g5 or g6) # Now do it northOpens and eastOvercalls and southResponds