# alias: OpenAndRebid # button-text: Open w/Rebid in Mind # gib-works: true # bba-works: true # auction-filter: Auction.....\n1[CDHS] +Pass +[1-5][CDHSN] .* Pass\n(P|[1-5]) # curate: kind=bidding # convention-card-ns: Basic-Bridge # convention-card-ew: Basic-Bridge /*@chat --- Basic: Open the Suit That Buys You a Rebid (beginner) Usually you open your longest suit. But first ask: after I open, what will I REBID? When you are minimum (about 11-15) you cannot introduce a higher-ranking second suit at the two level -- that shows extra strength you do not have. So when opening your long suit leaves you no cheap rebid, open a DIFFERENT suit instead. • 5 clubs and 4 diamonds: open 1!D, not 1!C. Over partner's major you rebid 2!C, showing both minors. Open 1!C and your only way to show diamonds is 2!D -- a higher-ranking suit at the two level, promising more than you have. • 6 of a minor and 5 of a major (6!C-5!H, 6!C-5!S, 6!D-5!H, 6!D-5!S): open the 5-card MAJOR, then rebid your long minor cheaply. Open the 6-card minor and showing the major means bidding it at the two level -- higher-ranking, more than you have. • Both minors 5-5: open the higher, 1!D, then rebid 2!C. Sometimes the ordinary rule already works: with 5 diamonds and 4 clubs, open your longest, 1!D, and 2!C is cheap anyway. The skill is spotting when opening your longest suit would leave you stuck. Reference: https://www.advinbridge.com/this-week-in-bridge/637 @chat*/ dealer south #include "script/Leveling" #include "script/Calm-Opponents" # provides calmOpps (both opponents too weak/flat to interfere) sHcp = hcp(south) s = spades(south) h = hearts(south) d = diamonds(south) c = clubs(south) # Minimum opener (11-15): South can NEVER reverse, so the opening choice is forced. minOpener = sHcp > 10 and sHcp < 16 shortMajors = s < 4 and h < 4 // keep majors short so the choice is minor-vs-minor # ===== NON-STANDARD openings (~half): open a suit that is NOT your longest ===== # 5c-4d -> open 1D (not 1C); 2C rebids cheaply, 2D would reverse. n_5c4d = c == 5 and d == 4 and shortMajors # 6-card minor + 5-card major -> open the 5-card MAJOR, rebid the long minor (no reverse). # covers 6C-5H, 6C-5S, 6D-5H, 6D-5S. n_65mM = (c == 6 or d == 6) and (h == 5 or s == 5) # 5-5 minors -> open the higher, 1D, rebid 2C. n_55m = c == 5 and d == 5 nonStandard = (n_5c4d or n_65mM or n_55m) and minOpener # ===== STANDARD openings (~quarter): open your longest; the rebid is already cheap ===== # 5d-4c -> open 1D (longest), rebid 2C -- the mirror of n_5c4d. t_5d4c = d == 5 and c == 4 and shortMajors # balanced 12-14, no 5-card major -> open a minor, rebid 1NT. t_bal = shape(south, any 4432 + any 4333 + any 5332) and s < 5 and h < 5 and sHcp > 11 and sHcp < 15 standard = (t_5d4c and minOpener) or t_bal # ===== EDGE cases (~quarter): the opening choice is genuinely close ===== # 6c-4d -> open 1C and rebid 2C (6-card), or 1D to show both? e_6c4d = c == 6 and d == 4 and shortMajors # 5c-4d WITH a 4-card major -> show the major up the line, or open 1D? e_5c4dM = c == 5 and d == 4 and (s == 4 or h == 4) edge = (e_6c4d or e_5c4dM) and minOpener southHand = nonStandard or standard or edge # ===== Responder: 6-11 HCP so partner responds and South gets to rebid ===== northHand = hcp(north) > 5 and hcp(north) < 12 # ===== Unbid-major rule (classroom feedback #191): after a minor opening, when ===== # partner responds a major, opener must hold exactly 2 or 4 cards in the OTHER # (unbid) major -- never 3 -- so the rebid decision stays clean. # Major openings (n_65mM) are exempt; so are deals where North has no major to bid. nRespH = hearts(north) > 3 and (hearts(north) > spades(north) or (hearts(north) == 4 and spades(north) == 4)) nRespS = spades(north) > 3 and not nRespH unbidMajorRule = n_65mM or (nRespS and (h == 2 or h == 4)) or (nRespH and (s == 2 or s == 4)) or not (nRespS or nRespH) # ===== Level toward ~50/25/25 (balanced + 5d4c are common, so downsample them) ===== levN5c4d = n_5c4d and keep levN65mM = n_65mM and keep levN55m = n_55m and keep levT5d4c = t_5d4c and keep47 levTbal = t_bal and keep015 levE6c4d = e_6c4d and keep levE5c4dM= e_5c4dM and keep levelTheDeal = levN5c4d or levN65mM or levN55m or levT5d4c or levTbal or levE6c4d or levE5c4dM southHand and northHand and calmOpps and levelTheDeal and unbidMajorRule action average "South HCP avg " hcp(south), average "NON 5c4d->1D % " 100 * (n_5c4d and minOpener), average "NON 6m5M->1M % " 100 * (n_65mM and minOpener), average "NON 5-5 minors % " 100 * (n_55m and minOpener), average "STD 5d4c->1D % " 100 * (t_5d4c and minOpener), average "STD balanced 12-14 % " 100 * t_bal, average "EDGE 6c4d % " 100 * (e_6c4d and minOpener), average "EDGE 5c4d+4M % " 100 * (e_5c4dM and minOpener),