# alias: NtAfter1m # button-text: 1m-1|2|3N w/33(43) # gib-works: false # bba-works: true # auction-filter: Auction.....\n1[CD] +Pass +([123]N|1[HS]) # convention-card-ns: 21GF-GIB # convention-card-ew: 21GF-GIB /*@chat --- 1m - 1NT, 2NT, or 3NT w/33(43) shape South opens 1!C or 1!D. North has any 4333 hand with stuff in every other suit. Should North skip over a 4-card suit to bid NT? 1NT is 6-9, 2NT is 10-12, 3NT is 13-15. @chat*/ /* South opens 1C or 1D with no other constraints North has any 4333 hand with the following ranges 6-9 with at least Qxx in each unbid suit -- no requirement for opener's suit 10-12 with at least Kxx or QJx in each unbid suit AND at least Qxx in the opener's suit 13-15 same as 10-12 auction-filter: Auction.....\n1[CD] +Pass + */ dealer south #include "script/Calm-Opponents" # Defines calmWest #include "script/Predict-Opening-1-Bid" # Defines oneClub, oneDiamond #include "script/TP" # Defines tpSouth # Define suit quality for NT -- Qxx opener's suit and Kxx or QJx in unbid suits nC2 = hcp(north,clubs)>1 // at least Qxx nD2 = hcp(north,diamonds)>1 nM2 = hcp(north,hearts)>1 and hcp(north,spades)>1 nC3 = hcp(north,clubs)>2 // at least Kxx or QJx nD3 = hcp(north,diamonds)>2 nM3 = hcp(north,hearts)>2 and hcp(north,spades)>2 # Define North's response ranges n1 = hcp(north)>5 and hcp(north)<10 //and hascard(east,2C) n2 = hcp(north)>9 and hcp(north)<13 n3 = hcp(north)>12 and hcp(north)<16 //and hascard(west,2D) and not hascard(west,2C) # For opening with minimum values, require extra suit length sMin = hcp(south)<12 and tpSouth<13 sShape = sMin ? shape(south,any 7xxx+any 6xxx) : shape(south, xxxx) # South bids 1C or 1D and North responds 1N or 2/3N # Stopper requirements (nC2/nD2/nM2/nC3/nD3/nM3) removed to test hypothesis # on hands without pre-selected NT-friendly distributions s1Cn1N = oneClub and n1 // 1C - 1N (no stopper req) s1Dn1N = oneDiamond and n1 // 1D - 1N (no stopper req) s1m1N = (s1Cn1N or s1Dn1N) s1Cn2N = oneClub and n2 // 1C - 2N (no stopper req) s1Dn2N = oneDiamond and n2 // 1D - 2N (no stopper req) s1m2N = s1Cn2N or s1Dn2N s1Cn3N = oneClub and n3 // 1C - 3N (no stopper req) s1Dn3N = oneDiamond and n3 // 1D - 3N (no stopper req) s1m3N = s1Cn3N or s1Dn3N nShape = shape(north,any 4333 -4xxx -x4xx) //nShape = shape(north,any 4333) // any 4333 //nShape = shape(north,4333+3433) // either major sRange = tpSouth>11 and hcp(south)>10 and tpSouth<22 and hcp(south)<23 # Now do it (s1m1N or s1m2N or s1m3N) and sRange and sShape and calmWest and nShape action average "n1 " 100 * n1, average "n2 " 100 * n2, average "n3 " 100 * n3, average "1m... 6- 9 " 100 * s1m1N, average " 10-12 " 100 * s1m2N, average " 13-15 " 100 * s1m3N, average "hcp South " hcp(south), average " West " hcp(west), average " North " hcp(north), average " East " hcp(east), average "South 4333 " 100 * shape(north,4333), average " 3433 " 100 * shape(north,3433), average " 3343 " 100 * shape(north,3343), average " 3334 " 100 * shape(north,3334),