# alias: GibOcW4 # button-text: GIB OC w/4-cards # gib-works: true # bba-works: true # auction-filter: Auction.....\n1[CDH] # convention-card-ns: 21GF-GIB # convention-card-ew: 21GF-GIB /*@chat --- GIB overcalls in a 4-card suit South opens and West makes a 1-level overcall with a 4-card suit. The required suit quality is AKxx, AQJx, AQTx, AQ9x, AJT9, KQJx, KQTx, or better. West's shape is either 4333 or 4432. West's lower limit is 12 TP -- can be 11 HCP w/a small doubleton. West's upper limit is 13 HCP with 44/33 in the majors, otherwise 14 HCP. @chat*/ /* South opens 1C, 1D, or 1H and West overcalls at the 1-level in a 4-card suit. */ dealer south #include "script/Predict-Opening-1-Bid" # Defines oneClub, oneDiamond, and oneHeart #include "script/Total-Points-West" # Defines wTP # GIB does not open some 12 HCP hands # Define suits that are OK for opening top6C = top5(south,clubs) + hascard(south,9C) cAT = hascard(south,AC) and top5(south,clubs)>1 // AT or better cKJ = hascard(south,KC) and top4(south,clubs)>1 // KJ or better cQJ9 = hascard(south,QC) and hascard(south,JC) and top6C>2 // QJ9 or better cOK = cAT or cKJ or cQJ9 top6D = top5(south,diamonds) + hascard(south,9D) dAT = hascard(south,AD) and top5(south,diamonds)>1 dKJ = hascard(south,KD) and top4(south,diamonds)>1 dQJ9 = hascard(south,QD) and hascard(south,JD) and top6D>2 dOK = dAT or dKJ or dQJ9 okToOpen = shape(south,1345 + 3145) and hcp(south)==12 ? cOK and dOK : 1 # Define suits suitable for 4-card overcall wAS = hascard(west,AS) wKS = hascard(west,KS) wQS = hascard(west,QS) wJS = hascard(west,JS) wTS = hascard(west,TS) w9S = hascard(west,9S) wAH = hascard(west,AH) wKH = hascard(west,KH) wQH = hascard(west,QH) wJH = hascard(west,JH) wTH = hascard(west,TH) w9H = hascard(west,9H) wAD = hascard(west,AD) wKD = hascard(west,KD) wQD = hascard(west,QD) wJD = hascard(west,JD) wTD = hascard(west,TD) w9D = hascard(west,9D) # Define West's possible overcall suits: AKxx, AQJx, AQTx, AQ9x, AJT9, KQJx, or KQTx wS4 = ((wAS and wKS) or (wAS and wQS and (wJS or wTS or w9S)) or (wAS and wJS and wTS and w9S) or (wKS and wQS and (wJS or wTS))) and shape(west,4xxx) wH4 = ((wAH and wKH) or (wAH and wQH and (wJH or wTH or w9H)) or (wAH and wJH and wTH and w9H) or (wKH and wQH and (wJH or wTH))) and shape(west,x4xx) wD4 = ((wAD and wKD) or (wAD and wQD and (wJD or wTD or w9D)) or (wAD and wJD and wTD and w9D) or (wKD and wQD and (wJD or wTD))) and shape(west,xx4x) wss = (wS4 and wH4) or (wS4 and wD4) or (wH4 or wD4) # Avoid Takeout Double -- 13/14 HCP and equal length in the majors X = (hcp(west)==13 or hcp(west)==14) and shape(west,44xx+33xx) wRange = wTP>=12 and wTP<=14 and not X # Define West's overcalls cOC = oneClub and (wD4 or wH4 or wS4) and clubs(west)==3 and okToOpen dOC = oneDiamond and (wH4 or wS4) and diamonds(west)==3 hOC = oneHeart and wS4 and hearts(west)==3 wOvercalls = (cOC or dOC or hOC) and wRange and shape(west,any 4432 +any 4333) sOpens = hcp(south)>11 and hcp(south)<15 # Now do it. sOpens and wOvercalls action average "1C-1D " 100 * (cOC and wD4), average "1C-1H " 100 * (cOC and wH4), average "1C-1S " 100 * (cOC and wS4), average "1D-1H " 100 * (dOC and wH4), average "1D-1S " 100 * (dOC and wS4), average "1H-1S " 100 * (hOC and wS4),