# alias: NegativeDouble # button-text: Negative Double # gib-works: true # bba-works: true # auction-filter: 1[CDHS] (1[DHS]|2[CDH]) X # convention-card-ns: 21GF-DEFAULT # convention-card-ew: 21GF-GIB # curate: kind=bidding /*@chat --- Negative Double After x (y), X is a Negative Double. It's for takeout. At the 1-level it promises 4-Cards in each unbid major. At higher levels you need a backup plan if partner doesn't have your major -- maybe a tolerance for opener's suit. https://www.larryco.com/bridge-articles/negative-doubles 4NT is Roman Keycard Blackwood (1430) with a trump suit agreed, or quantitative (inviting 6NT) in a notrump auction. Keycard responses: • 5!C = 1 or 4 keycards • 5!D = 0 or 3 • 5!H = 2 without the trump queen • 5!S = 2 with the trump queen @chat*/ # Negative Double dealer south produce 10000 #include "script/Predict-Opening-1-Bid" # Predict West's overcall sW = spades(west) hW = hearts(west) dW = diamonds(west) cW = clubs(west) wS = sW>=hW and sW>=dW and sW>=cW wH = not wS and hW>=dW and hW>=cW wD = not (wS or wH) and (dW>=cW or cW==3) wC = not (wS or wH or wD) # South Opens sOpens = (oS or oH or oD or oC) and hcp(south)>11 # West overcalls wOvercalls = (wD or wH or wS or wC) and shape(west,any 6xxx+any 5xxx-any 65xx -any 55xx) wP1 = hcp(west)>7 wP2 = hcp(west)>10 p1 = hcp(north)>5 p2 = hcp(north)>9 p3 = hcp(north)>11 # North doubles nM = shape(north,44xx+45xx+54xx) nH = shape(north,x4xx) nS = shape(north,4xxx) x1 = oC and wD ? nM and p1 : 0 f1 = oC and wD ? (nH or nS) and p1 : 0 // What if Partner bids the wrong M? x2 = oC and wH ? nS and p1 : 0 x3 = oC and wS ? nH and p1 : 0 x4 = oD and wH ? nS and p1 : 0 x5 = oD and wS ? nH and p1 : 0 x6 = oD and wC ? nM and p2 : 0 f2 = oD and wC ? (nH or nS) and p2 : 0 // What if Partner bids the wrong M? x7 = oH and (wC or wD) ? nS and p2 : 0 x8 = oS and (wC or wD) ? nH and p2 : 0 nDoubles = (((x1 or x2 or f1) and p1) or ((x3 or x4 or x5) and p2) or ((x6 or f2 or x7 or x8) and p3)) sOpens and wOvercalls and nDoubles action #printoneline, average "1C (1D) H&S " 100 * x1, average "1C (1D) H/S " 100 * f1, average "1C (1H) S " 100 * x2, average "1C (1S) H " 100 * x3, average "1D (1H) S " 100 * x4, average "1D (1S) H " 100 * x5, average "1D (2C) H&S " 100 * x6, average "1D (2C) H/S " 100 * f2, average "1H (2C/D) S " 100 * x7, average "1S (2C/D) H " 100 * x8,