jonapier Posted August 29, 2017 Report Share Posted August 29, 2017 I think I posted this in the wrong area so posting here now: Hi. Can someone help me by providing scripts for random Preempt and weak two hands for practicing? I see a couple that has specific for leaping Michael's, takeout, etc... But I'd like totally random if possible..Thank you!! :D Quote Link to comment Share on other sites More sharing options...
hrothgar Posted August 29, 2017 Report Share Posted August 29, 2017 Hi. Can someone help me by providing scripts for random Preempt and weak two hands for practicing? I see a couple that has specific for leaping Michael's, takeout, etc... But I'd like totally random if possible..Thank you!! :D Show me what you've tried so far and I'll be happy to try to debug it for you... Quote Link to comment Share on other sites More sharing options...
biggerclub Posted July 2, 2018 Report Share Posted July 2, 2018 Top and bottom overcall practice on BBO: (hcp(west)>=12 and (clubs(west)>hearts(west) and clubs(west)>spades(west) and ((clubs(west)>diamonds(west) or shape(west, any 4333)) and shape(north, 5x5x + 6x5x + 6x6x + 7060) and hcp(north)>9))) or (hcp(west)>=12 and (diamonds(west)>hearts(west) and diamonds(west)>spades(west) and ((diamonds(west)>clubs(west) or shape(west, 3244 + 2344 + 1444 +4144)) and shape(north, 5xx5 + 6xx5 + 6xx6 + 7006) and hcp(north)>9))) or ((hcp(west)>=12 and (hearts(west)>spades(west) and hearts(west)>=diamonds(west) and hearts(west)>=clubs(west) and hearts(west)>=5) and shape(north, 5xx5 + 6xx5 + 6xx6 + 7006) and hcp(north)>9)) or ((hcp(west)>=12 and (spades(west)>=hearts(west) and spades(west)>=diamonds(west) and spades(west)>=clubs(west) and spades(west)>=5) and shape(north, x5x5 + x6x5 + x6x6 + 0706) and hcp(north)>9)) Quote Link to comment Share on other sites More sharing options...
nige1 Posted June 30, 2019 Report Share Posted June 30, 2019 "Necro" warning :)so this codegenerate 10000 produce 1000 vulnerable NS dealer north north2h=((hearts(north)>=5 && hcp(north)>=8 && hcp(north)<=13 && not shape(north, any 5422, any 5332) ) north2d=(diamonds(north)>=5 && hcp(north)>=8 && hcp(north)<=13 && not shape(north, any 5422, any 5332) ) north2s=(spades(north)>=5 && hcp(north)>=8 && hcp(north)<=13) && not shape(north, any 5422, any 5332) ) condition north2h || north2d || north2s action printpbnshould working ? Instead, PatiW might try # Fantunes 2D/H/S opener. produce 1000 vulnerable NS dealer north mediumShapely = 7 < hcp (north) and hcp(north) < 14 and not shape (north, any 5422 + any 5332) north2D = diamonds (north) > 4 and mediumShapely north2H = hearts (north) > 4 and mediumShapely north2S = spades (north) > 4 and mediumShapely condition north2D or north2H or north2S action printpbn Quote Link to comment Share on other sites More sharing options...
biggerclub Posted April 21, 2020 Report Share Posted April 21, 2020 Is there a command that allows me to define HCP for two hands combined? For example, HCP (north+south) <23 and >17? Quote Link to comment Share on other sites More sharing options...
Gerardo Posted April 21, 2020 Report Share Posted April 21, 2020 Is there a command that allows me to define HCP for two hands combined? For example, HCP (north+south) <23 and >17? hcp_ns = hcp(south)+hcp(north) condition hcp_ns > 17 and hcp_ns < 23 Quote Link to comment Share on other sites More sharing options...
biggerclub Posted April 21, 2020 Report Share Posted April 21, 2020 hcp_ns = hcp(south)+hcp(north) condition hcp_ns > 17 and hcp_ns < 23 Thank you. Quote Link to comment Share on other sites More sharing options...
biggerclub Posted April 21, 2020 Report Share Posted April 21, 2020 hcp_ns = hcp(south)+hcp(north) condition hcp_ns > 17 and hcp_ns < 23 This works better on BBO (not sure about dealer generally): (hcp(north)+hcp(south)>17) and (hcp(north)+hcp(south)<23) Quote Link to comment Share on other sites More sharing options...
raja1306 Posted March 4, 2021 Report Share Posted March 4, 2021 This thread is for summarising the verified user-created scripts to Dealer, the deal generator used by web BBO. You can use Dealer for bidding or teaching table practise with web BBO. In order to use the scripts, just copy/paste the relevant scripts when using new BBO's bidding/teaching table DEAL SOURCE ADVANCED Option. Hrothgar's 4 ace point countHrothgar's Kaplan + Rubens Point Count I have a created a generic LIN generator depending on the definition given. The tool (called BLINK) is available at the url - Click on the hyperlink to access. drop a mail if you can't figure out something Quote Link to comment Share on other sites More sharing options...
bprepeat Posted March 7, 2021 Report Share Posted March 7, 2021 I have created a modern front-end user interface for the BBO dealer. (it internally generates scripts, executes and then emails the deals - in LIN format). The tool is called BLINK and it can be found at https://bid-play-repeat.000webhostapp.com/main/ Quote Link to comment Share on other sites More sharing options...
adamw Posted September 29, 2021 Report Share Posted September 29, 2021 Charles Lee has a nice collection of Dealer constraints suitable for BBO here: http://charlesandgerry.com/bridge/constraints.html I learned about it here: http://bridgewinners.com/article/view/practice-xyz-on-bbo/ Quote Link to comment Share on other sites More sharing options...
pgr73 Posted April 18, 2023 Report Share Posted April 18, 2023 Hi everybody,I am trying to generate hands to practise 2♣️ Gazzilli bidding.I have created the hands I need thus:shape(north, 55xx) && (hcp(north)>=14 && hcp(north)<=20)) or(shape(north, 65xx) && hcp(north)>=17) or(shape(north, 56xx) && hcp(north)>=17) or(shape(north, 54xx) && hcp(north)>=11) or(shape(north, 5x4x) && hcp(north)>=17) or(shape(north, 5x5x) && hcp(north)>=17) or(shape(north, 5x4x) && hcp(north)>=11) or(shape(north, 5xx4) && hcp(north)>=11) or(shape(north, 5xx5) && hcp(north)>=11) or(shape(north, x54x) && hcp(north)>=17) or(shape(north, x55x) && hcp(north)>=17) or(shape(north, x5x4) && hcp(north)>=11) or(shape(north, x5x5) && hcp(north)>=11)Now I need the following conditions.1) when opener bids 1H (5/6♥️max5♠️max5♦️max♣️), responder bids 1S (max2♥️4-6♠️max5♦️max5♣️, hcp range 4+) or 1NT (max2♥️max3♠️max5♦️max5♣️, hcp range 4-10)2) when opener bids 1S (5/6♠️max5♥️max5♦️max5♣️), responder bids 1NT (max2♠️max6❤️max5♦️max5♣️, hcp range 4-10)Is it possible to create the appropriate syntax?Thank you in advance,Pietro (pgr73) Quote Link to comment Share on other sites More sharing options...
DavidKok Posted April 18, 2023 Report Share Posted April 18, 2023 I am not sure that the hand types you presented are correct for Gazzilli. The way I understand it, a 2♣ Gazzilli rebid shows either real clubs or any strong hand. You have included some other weak hands (i.e. 5♠4♦ and 5♠4♥ with 11+ hcp) and excluded a range of strong hands (balanced, or 6(+)M).You also excluded some hand types from the 1NT response that I would normally expect to be included (i.e. 6-10 with a weak 6cm). Personally I would first define the openings, then define/restrict responder's rebid, then define the Gazzilli 2♣ rebid. I have a previously written script for the 1♠ opening only, it looks like this: generate 1000000 //Default is 1 million spadehand = (spades(north) >= 5) && (spades(north) >= hearts(north)) && (spades(north) >= diamonds(north)) && (spades(north) >= clubs(north))SOpening = spadehand && (hcp(north) >= 11) && (hcp(north) <= 21) double = (shape(east, 1444 + 1435 + 1453 + 2443 + 2434 + 2452 + 0445 + 0454) && (hcp(east) >= 11)) || (shape(east, 1354 + 1345 + 2344 + 2335 + 2353) && (hcp(east) >= 14)) || (shape(east, any 4333) && (hcp(east) >= 13) && (hcp(east) <= 14)) || (hcp(east) >= 18)SMichaels = (hearts(east) >= 5) && ((clubs(east) >= 5) || (diamonds(east) >= 5)) && (hcp(east) >= 7)HOvercall = (hearts(east) >= 5) && (hcp(east) >= 9) && (hcp(east) <= 17) && !SMichaelsCOvercall = (clubs(east) >= 6) && (hcp(east) >= 9) && (hcp(east) <= 17) && !SMichaelsDOvercall = (diamonds(east) >= 6) && (hcp(east) >= 9) && (hcp(east) <= 17) && !SMichaelsNTOvercall = shape(east, any 4333 + any 4432 + any 5332) && (hcp(east) >= 15) && (hcp(east) <= 17) && (spades(east) >= 3)NoOvercall = !(double || NTOvercall || COvercall || DOvercall || HOvercall || SMichaels) C3Response = (hcp(south) >= 9) && (hcp(south) <= 11) && (clubs(south) >= 6) && (top5(south,clubs) >= 3) && (spades(south) <= 2)D3Response = (hcp(south) >= 9) && (hcp(south) <= 11) && (diamonds(south) >= 6) && (top5(south,diamonds) >= 3) && (spades(south) <= 2)S3Response = (spades(south) == 4) && (hcp(south) <= 6)C4Response = (spades(south) >= 4) && (clubs(south) <= 1) && (hcp(south) >= 9) && (hcp(south) <= 14)D4Response = (spades(south) >= 4) && (diamonds(south) <= 1) && (hcp(south) >= 9) && (hcp(south) <= 14) && !C4ResponseH4Response = (spades(south) >= 4) && (hearts(south) <= 1) && (hcp(south) >= 9) && (hcp(south) <= 14) && !C4Response && !D4ResponseS4Response = (spades(south) >= 5) && (hcp(south) <= 9)H2Response = (hearts(south) >= 5) && (hcp(south) >= 12) && (hearts(south) >= diamonds(south)) && (hearts(south) >= clubs(south)) && !C4Response && !D4Response && !H4ResponseD2Response = (diamonds(south) >= 5) && (hcp(south) >= 12) && (hearts(south) < diamonds(south)) && (diamonds(south) >= clubs(south)) && !C4Response && !D4Response && !H4ResponseS2Response = !S3Response && !S4Response && (spades(south) >= 3) && (hcp(south) <= 8) && (hcp(south) >= 4)NT2Response = !C4Response && !D4Response && !H4Response && !H2Response && !D2Response && !S3Response && !S4Response && (spades(south) >= 3) && (hcp(south) >= 9) && (hcp(south) <= 14)C2Response = !C4Response && !D4Response && !H4Response && !H2Response && !D2Response && !NT2Response && !C3Response && !D3Response && ((hcp(south) >= 12) || ((hcp(south) >= 9) && (hcp(south) <= 11) && (hearts(south) >= 5)) || ((hcp(south) >= 10) && (hcp(south) <= 11) && (shape(south, any 4432 + 1444) || (clubs(south) >= 5) || (diamonds(south) >= 5))))NT1Response = (hcp(south) >= 5) && (hcp(south) <= 11) && (spades(south) <= 2) && !C2Response && !C3Response && !D3ResponsePassResponse = (hcp(south) < 5) && (spades(south) <= 2) S2MichaelsAdvance = (hearts(west) >= 5) && ((clubs(west) >= 5) || (diamonds(west) >= 5)) && (hcp(west) >= 7)C2Advance = (clubs(west) >= 6) && (hcp(west) >= 7) && (top5(west,clubs) >= 3) && !S2MichaelsAdvanceD2Advance = (diamonds(west) >= 6) && (hcp(west) >= 7) && (top5(west,diamonds) >= 3) && !S2MichaelsAdvanceH2Advance = (hearts(west) >= 5) && (hcp(west) >= 7) && (top5(west,hearts) >= 3) && !S2MichaelsAdvancePassAdvance = !(C2Advance || D2Advance || H2Advance || S2MichaelsAdvance) H3Rebid = (hearts(north) >= 5) && (hcp(north) >= 13) && (hcp(north) <= 15)NT3Rebid = (spades(north) >= 6) && (top3(north,spades) == 3) && (hcp(north) <= 15) && !H3RebidS4Rebid = (spades(north) >= 7) && (hcp(north) <= 17) && !NT3RebidNT2Rebid = (spades(north) == 6) && ((clubs(north) >= 4) || (diamonds(north) >= 4)) && (hcp(north) >= 15) && (hcp(north) <= 17) && !NT3RebidS3Rebid = (spades(north) == 6) && (hcp(north) >= 13) && (hcp(north) <= 15) && (top5(north,spades) >= 3) && !NT3Rebid && !NT2Rebid && !H3RebidD3Rebid = (diamonds(north) >= 5) && (hcp(north) >= 13) && (hcp(north) <= 15)C3Rebid = (clubs(north) >= 5) && (hcp(north) >= 13) && (hcp(north) <= 15)nohigherrebid = !(NT2Rebid || C3Rebid || D3Rebid || H3Rebid || S3Rebid || NT3Rebid || S4Rebid)H2Rebid = (hearts(north) >= 4) && (hcp(north) <= 15) && nohigherrebidS2Rebid = (spades(north) >= 6) && (hcp(north) <= 15) && !H2Rebid && nohigherrebidD2Rebid = (diamonds(north) >= 4) && (hcp(north) <= 15) && !H2Rebid && !S2Rebid && nohigherrebidC2Rebid = ((clubs(north) >= 4) && (hcp(north) <= 15) && !D2Rebid && !H2Rebid && !S2Rebid && nohigherrebid) || ((hcp(north) >= 16) && nohigherrebid)Passrebid = (!(C2Rebid || D2Rebid || H2Rebid || S2Rebid)) && nohigherrebidPassrebidcheck = (shape(north, any 5332)) && (hcp(north) <= 15) D27thbid = (hcp(south) >= 8)H27thbid = (hcp(south) <= 7) && (hearts(south) >= 5)NT27thbid = (hcp(south) <= 7) && (shape(south, xx54 + xx45 + xx55 + xx65 + xx56 + xx66 + xx76 + xx67))C37thbid = (hcp(south) <= 7) && (clubs(south) >= 6) && !NT27thbidD37thbid = (hcp(south) <= 7) && (diamonds(south) >= 6) && !NT27thbidS27thbid = (hcp(south) <= 7) && (!(H27thbid || NT27thbid || C37thbid || D37thbid)) condition SOpening && NoOvercall && NT1Response && PassAdvance && C2Rebid action frequency(clubs(south), 0, 5) In chunks, the first paragraph defines North's opening bid, the second defines East's possible overcall, the third defines South's responses, the fourth defines West's possible overcalls, the fifth defines North's rebids and the last defines South's rebids (I excluded sixth hand interference - most of the time it is too risky to enter over (1♠)-P-(1NT)-P; (2♣*)-?). My Gazzilli is 16+ any or spades-clubs weak. You can tweak and/or simplify this to meet your requirements. If you want to also include 1♥ openings you can mostly reuse the code, though some of the definitions will have to be adapted. For starters, responder might have a 1♠ response rather than 1NT. But also the interference changes, i.e. spade overcalls, takeout doubles and Michaels hands in second and fourth seat.Most of the code is superfluous for your question. I hope it helps anyway, let me know if it would be more useful if I took out the irrelevant lines. Quote Link to comment Share on other sites More sharing options...
Recommended Posts