Jump to content

Dealer Scripts, summarised


Rain

Recommended Posts

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

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

  • 10 months later...

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))

Link to comment
Share on other sites

  • 11 months later...

"Necro" warning :)

so this code

generate 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 printpbn

should 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

Link to comment
Share on other sites

  • 9 months later...
  • 10 months later...

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 count

Hrothgar'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

Link to comment
Share on other sites

  • 6 months later...
  • 1 year later...

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)

Link to comment
Share on other sites

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. 54 and 54 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) && !SMichaels

COvercall = (clubs(east) >= 6) && (hcp(east) >= 9) && (hcp(east) <= 17) && !SMichaels

DOvercall = (diamonds(east) >= 6) && (hcp(east) >= 9) && (hcp(east) <= 17) && !SMichaels

NTOvercall = 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) && !C4Response

H4Response = (spades(south) >= 4) && (hearts(south) <= 1) && (hcp(south) >= 9) && (hcp(south) <= 14) && !C4Response && !D4Response

S4Response = (spades(south) >= 5) && (hcp(south) <= 9)

H2Response = (hearts(south) >= 5) && (hcp(south) >= 12) && (hearts(south) >= diamonds(south)) && (hearts(south) >= clubs(south)) && !C4Response && !D4Response && !H4Response

D2Response = (diamonds(south) >= 5) && (hcp(south) >= 12) && (hearts(south) < diamonds(south)) && (diamonds(south) >= clubs(south)) && !C4Response && !D4Response && !H4Response

S2Response = !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 && !D3Response

PassResponse = (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) && !S2MichaelsAdvance

D2Advance = (diamonds(west) >= 6) && (hcp(west) >= 7) && (top5(west,diamonds) >= 3) && !S2MichaelsAdvance

H2Advance = (hearts(west) >= 5) && (hcp(west) >= 7) && (top5(west,hearts) >= 3) && !S2MichaelsAdvance

PassAdvance = !(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) && !H3Rebid

S4Rebid = (spades(north) >= 7) && (hcp(north) <= 17) && !NT3Rebid

NT2Rebid = (spades(north) == 6) && ((clubs(north) >= 4) || (diamonds(north) >= 4)) && (hcp(north) >= 15) && (hcp(north) <= 17) && !NT3Rebid

S3Rebid = (spades(north) == 6) && (hcp(north) >= 13) && (hcp(north) <= 15) && (top5(north,spades) >= 3) && !NT3Rebid && !NT2Rebid && !H3Rebid

D3Rebid = (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) && nohigherrebid

S2Rebid = (spades(north) >= 6) && (hcp(north) <= 15) && !H2Rebid && nohigherrebid

D2Rebid = (diamonds(north) >= 4) && (hcp(north) <= 15) && !H2Rebid && !S2Rebid && nohigherrebid

C2Rebid = ((clubs(north) >= 4) && (hcp(north) <= 15) && !D2Rebid && !H2Rebid && !S2Rebid && nohigherrebid) || ((hcp(north) >= 16) && nohigherrebid)

Passrebid = (!(C2Rebid || D2Rebid || H2Rebid || S2Rebid)) && nohigherrebid

Passrebidcheck = (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) && !NT27thbid

D37thbid = (hcp(south) <= 7) && (diamonds(south) >= 6) && !NT27thbid

S27thbid = (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.

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...