BBO Discussion Forums: web based deal generator - BBO Discussion Forums

Jump to content

  • 2 Pages +
  • 1
  • 2

web based deal generator

#1 User is offline   Apollo81 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,162
  • Joined: 2006-July-10
  • Gender:Male
  • Location:Maryland

Posted 2009-April-02, 08:10

Can someone suggest a good deal generator that is web-based?

I used to enjoy http://www.rpbridge.net/xwd2.htm

I've tried http://www.playbridge.com, but I don't think it works properly. For instance when I specify I want a hand with 5-6 spades, it almost always deals 6.
0

#2 User is offline   uday 

  • PipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 5,808
  • Joined: 2003-January-15
  • Gender:Male
  • Location:USA

Posted 2009-April-02, 08:36

We have a web based tool for generating hands. It is a front end to "Dealer" by Hans van Staveren and others

http://www.bridgebas...aler/dealer.php


You'll need to read the docs. Dealer is quite powerful. I'm open to suggestions for improving the web utility.

We use this Dealer program in the web version of BBO as well. A teaching table (or a Partnership bidding table, for that matter) can use constrained hands, and the constraints can be expressed as raw input to Dealer.


So if you're looking for a way to practice (say) "Strong NT sequences when opener has a 5 card major" with your partner, you can use the web version of BBO, using the web page above to tinker with Dealer until you're confident that you have the constraints down pat.

The Partnership bidding tables in the web version offer ( currently free ) robots for use in the EW seats. They don't bid like Kokish, but IMO their bidding is adequate for practicing sequences.

You can login to BBO via the web at
http://www.bridgebase.com


Uday
0

#3 User is offline   TimG 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,972
  • Joined: 2004-July-25
  • Gender:Male
  • Location:Maine, USA

Posted 2009-April-02, 08:47

uday, on Apr 2 2009, 09:36 AM, said:

I'm open to suggestions for improving the web utility. 

I changed the action on the default script to 'print(north)' and the output was:

1. 2. 3. 4.
K Q 7 2 A Q 6 2 A 9 8 5 A Q 6
A T 9 9 2 J 9 J 4 3
J 8 A 9 4 2 A K J 3 A K Q
K J 7 5 A Q 3 T 5 4 A K Q 7

5.
A Q 8 2
K 6
A 6 5 2
9 3 2 

Looks like the spaces that dealer generates are not hard spaces. Frequency charts suffer from the same space issue.
0

#4 User is offline   Apollo81 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,162
  • Joined: 2006-July-10
  • Gender:Male
  • Location:Maryland

Posted 2009-April-02, 08:52

thanks
0

#5 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-02, 10:41

uday, on Apr 2 2009, 05:36 PM, said:

You'll need to read the docs. Dealer is quite powerful. I'm open to suggestions for improving the web utility.

Hi Uday

Thanks very much for integrating Dealer in to BBO.
This is a feature that I've been looking forward to for the better part of 10 years.

From my perspective, the main enhancement that you need to think about relates to "content" rather than "features".

The real value in Dealer is the ability to construct elaborate custom scripts for (virtually) any conceivable hand type.

We all know that 99 users out of 100 will never want to learn anything about Dealer's scripting capabilities. What we need to do is figure out some way that the "geeky" 1% who like writing scripts are able to effectively share their work everyone else.

As a simple example: Let's assume that some BBO user creates a script that does a near perfect job generating 15-17 HCP 1NT openings. In an ideal world, the BBO GUI would provide a simple interface into that Dealer script. The obvious problem is separating the wheat from the chaff... How do we identify "good" scripts for a given opening? In particular, how can we do this when there is bound to be a lot of disagreement about what constitues a "legitimate" 1S opening playing 2/1, SAYC, whatever.

I think that a good starting point actually involves the BBO forums. Create a new section of the forums where users can post / discuss scripts. With luck, we'll be able to reach some consensus for some of the "simplier" cases [What hands are suitable for a 15-17 HCP 1NT opening].

If we can reach agreement on this, we'll see how things go...
If we can't reach agreement on this, the enter idea can be shelved as a bad idea.
Alderaan delenda est
0

#6 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-02, 15:06

WOW

I was excited enough about this feature that I left work early so I could play with it.

I just tried a "Baptism by Fire" I input one of my old MOSCITO scripts and the system behaved with flying colors.

Here's an example of the type of stuff you can do with this new system:

The following script provides a decent enough approximation of my opening style playing MOSCITO.

The initial "X" lines of this script define all of the nromal opening bids.

I can edit the last line of the script to state what bid I want the hand generator to create. At the moment, the script will cause Dealer to generate Two Diamond openings. (Please note: These are assumed fit 2D openings that show

4+ Diamonds,
4+ cards in either major
insufficient strength for a constructive opening
and enough strength / shape for a preempt

THIS FEATURE IS REALLY REALLY COOL!!!!!!!!!!





_____________________


######### Definition - Opening Points

# 11 is the index for c13
# This function allows the user to define valuations for cacluating
# HCP
# Most hand evaluation is performed used a modified version of
# the 4 Aces Point Count.(Ace = 3, King = 2, ...)
# All values are multiplied by 100 to avoid fractions

altcount 11 300 200 100 50 20

############## STRONG OPENINGS

one_club =

(
hcp(north)>=17
or
c13(north) >=1000
or
(hcp(north)>=15 and cccc(north)>=1600 and c13(north)>=900)
or
(hcp(north)==14 and cccc(north)>=1900 and c13(north)>=900)
or
(hcp(north)==13 and cccc(north)>=2000 and c13(north)>=900)
or

(
hcp(north)>=15 and
shape(north, any 4333 + any 4432 + any 5332 + any
5422)
and
c13(north) >= 900
)

)

#####
#Opening strength defines the minimum strength for a limited #opening bid
#####

opening_strength =
(
(
cccc(north) - 25 * shape(north, any 4441 + any 5440) >= 1050

or hcp(north) >= 11
)

and
c13(north) >= 600
)

and not

one_club

#MOSCITO Opening structure

#################### SINGLE SUITED PREEMPTS

#################### MAJORS

four_diamonds =

(
(
spades(north) >= 8 and
hascard(north, AS) + hascard(north, KS) == 2
)

or

(
spades(north) == 7 and
hascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 3
)
)

and

hascard(north,AC) + hascard(north,KC) +
hascard(north,AD) + hascard(north,KD) +
hascard(north,AH) + hascard(north,KH) <=1

four_spades =

hcp(north) <= 9

and

(
(
spades(north) >= 7 and

hascard(north, AS) + hascard(north, KS) +
hascard(north,QS) + hascard(north, JS) >= 3
)

or

spades(north) >= 8
)

and not four_diamonds

three_spades =

spades(north) >= 6

and

(
hascard(north, AS) + hascard(north, KS) +
hascard(north, QS) + hascard(north, JS) >= 2
)

and

(
hearts(north) <=1 or
diamonds(north) <=1 or
clubs(north) <= 1
)

and

hcp(north) <= 9

and not four_diamonds

and not four_spades

four_clubs =

(
(
hearts(north) >= 8 and
hascard(north,AH) + hascard(north,KH) == 2
)
or

(
hearts(north) == 7 and
hascard(north,AH) + hascard(north,KH) + hascard(north,QH) == 3
)
)

and

hascard(north,AC) + hascard(north,KC) +
hascard(north,AD) + hascard(north,KD) +
hascard(north,AS) + hascard(north,KS) <=1

four_hearts =

hcp(north) <= 9

and

(
(
hearts(north) >= 7 and

hascard(north, AH) + hascard(north, KH) +
hascard(north,QH) + hascard(north, JH) >= 3
)

or

spades(north) >= 8
)

and not four_clubs

three_hearts =

hearts(north) >= 6

and

(
hascard(north, AH) + hascard(north, KH) +
hascard(north, QH) + hascard(north, JH) >= 2
)

and

(
spades(north) <=1 or
diamonds(north) <=1 or
clubs(north) <= 1
)

and

hcp(north) <= 9

and not four_clubs

and not four_hearts

############## MINORS

three_nt =

hcp(north) <= 9

and

(
(
clubs(north) >= 8
and
hascard(north,AS) + hascard(north,KS) +
hascard(north,AH) + hascard(north,KH) +
hascard(north,AD) + hascard(north,KD) <= 1
)

or

(
diamonds(north) >= 8
and
hascard(north,AS) + hascard(north,KS) +
hascard(north,AH) + hascard(north,KH) +
hascard(north,AC) + hascard(north,KC) <= 1
)
)

three_clubs =

clubs(north) >= 6

and

hascard(north, AC) + hascard(north, KC) + hascard(north, QC) == 2 and

hascard(north, AD) + hascard(north, KD) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hcp(north) <=9

and not three_nt

three_diamonds =

diamonds(north) >= 6

and

hascard(north, AD) + hascard(north, KD) + hascard(north, QD) == 2 and

hascard(north, AC) + hascard(north, KC) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hcp(north) <=9

and not three_nt

two_nt =

(clubs(north) >=6 and

hascard(north, AC) + hascard(north, KC) + hascard(north, QC) +
hascard(north, JC) == 2

and

hascard(north, AD) + hascard(north, KD) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0

and

hascard(north, QD) + hascard(north, QH) + hascard(north, QS) <= 1

and

not three_clubs)

or

(diamonds(north) >=6 and

hascard(north, AD) + hascard(north, KD) + hascard(north, QD) +
hascard(north, JD) == 2

and

hascard(north, AC) + hascard(north, KC) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hascard(north, QC) + hascard(north, QH) + hascard(north, QS) <= 1 and

not three_diamonds)

and not three_nt

preempts =
four_spades or
four_clubs or
three_spades or
four_hearts or
four_clubs or
three_hearts or
three_diamonds or
three_clubs or
three_nt or
two_nt

###############################
## Weak Opening Bids
###############################

two_diamonds =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325 and

shape(north, any 4432, any 54xx, any 55xx, any 65xx) and
clubs(north) <= 3 and
diamonds(north) >=4

two_hearts =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325 and

shape(north, any 4432, any 54xx, any 55xx, any 65xx) and
hearts(north) >= 4 and

(
spade(north) >= 4 or
clubs(north) >= 5
)

two_spades =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325

and

(
(
shape(north, any 6322, any 6331, any 7222) and
spades(north) >=6
)

or

(
spades(north) >=4 and clubs(north) >=5
and hascard(north, AS) + hascard(north, KS) + hascard(north, QS) >= 1
)
)

############## LIMITED OPENINGS

##### Pre-Definitions

bad_spades = hascard(north, AS) + hascard(north, KS) + hascard(north,
QS) == 0
bad_hearts = hascard(north, AH) + hascard(north, KH) + hascard(north,
QH) == 0
balanced = shape(north, any 4432, any 5332, any 4333)

########

two_clubs =
opening_strength
and not preempts

and

(

(
clubs(north) >= 6 and
spades(north) < 4 and
hearts(north) < 3
)

or

(
clubs(north) >= 6 and
spades(north) == 4 and
bad_spades
)

or

(
clubs(north) >= 6 and
hearts(north) == 4 and
bad_hearts
)

)

one_notrump =

opening_strength and

(

(
balanced and not
shape(north, 5xxx, x5xx, 44xx, 4x4x, 4xx4, x44x, x4x4)
)

or

(
hearts(north) == 4 and
balanced and
(hcp(north) == 11 or hcp(north) == 12)
)

or

(
spades(north) == 4 and
balanced and
hearts(north) <= 3 and
(hcp(north) == 13 or hcp(north) == 14)
)

)

one_spade =
opening_strength
and not preempts
and not one_notrump

and

diamonds(north) >= 4 and
not one_notrump and
hearts(north) <4 and
spades(north) <4

or

(

diamonds(north) >=6 and

(
(spades(north) == 4 and bad_spades) or
(hearts(north) == 4 and bad_hearts)
)

)

one_heart =

opening_strength and
not two_clubs and
not one_notrump and
not one_spade and

(

(
spades(north) == 4 and
spades(north) > hearts(north)
)

or

(
spades(north) >= 5 and
spades(north) >= hearts(north)
)

)

one_diamond =

opening_strength and
not two_clubs and
not one_notrump and
not one_spade and
not one_heart

and

hearts(north) >= 4

and not

(balanced and hcp(north) <= 11)

###########

two_diamonds
Alderaan delenda est
0

#7 User is offline   TimG 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,972
  • Joined: 2004-July-25
  • Gender:Male
  • Location:Maine, USA

Posted 2009-April-02, 15:18

hrothgar, on Apr 2 2009, 11:41 AM, said:

I think that a good starting point actually involves the BBO forums.  Create a new section of the forums where users can post / discuss scripts.  With luck, we'll be able to reach some consensus for some of the "simplier" cases [What hands are suitable for a 15-17 HCP 1NT opening].

If we can reach agreement on this, we'll see how things go...
If we can't reach agreement on this, the enter idea can be shelved as a bad idea.

Richard, I don't quite understand the point. I can't see anything close to universal agreement on how to script a 15-17 NT precisely, and even if we could script one that satisfies a significant majority, what would be the purpose?

Perhaps it would be useful to have a few example scripts so that people unfamiliar with Dealer could see how things work. But, the scripting itself is pretty easy once you become familiar and probably would take less time than searching through available scripts in a large library.
0

#8 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,412
  • Joined: 2004-August-21
  • Gender:Male

Posted 2009-April-02, 15:23

I think trying to put a user-friendly front-end onto Dealer may be almost as complicated as doing this with Full Disclosure. In both cases, the real problem is that you're trying to describe complex criteria, and you can't get away from having to list all the details.

#9 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-02, 15:31

TimG, on Apr 3 2009, 12:18 AM, said:

Richard, I don't quite understand the point. I can't see anything close to universal agreement on how to script a 15-17 NT precisely, and even if we could script one that satisfies a significant majority, what would be the purpose?

Perhaps it would be useful to have a few example scripts so that people unfamiliar with Dealer could see how things work. But, the scripting itself is pretty easy once you become familiar and probably would take less time than searching through available scripts if you build up a large library.

My assumption is the following:

1. Most users would like to be able to generate hands that correspond to common auctions. For example:

A SAYC type 1N opening

Or hand that match an auction like: 1N - (P) - 2C

2. Most of these users will NEVER learn how to write scripts, regardless of how easy that might be. The only way to support these users is to link a GUI to some kind of pre-existing scripts. (Or quite right that said GUI needs to be designed carefully. However, we should start by defining some scripts)

3. There are a number of ways that these scripts might come into existence...

If we whine for long enough, there is always the chance that Fred / Uday, Aaron / whomever will miraculously write them for us. Personally, I think that stepping up to the plate and writing things for ourselves is a better way to go...

4. I agree that we will NEVER get perfect consensus regarding the definition of any of these bids. However, I hope that we can achieve rough consensus... Moreover, I like to believe that scripts that are developed in an open, peer reviewed process have a better chance of producing quality code... (Admittedly, the forums has its own deviant views regarding a number of topics. However, I still tend to trust the judgment of a collective over the judgment of an individual)
Alderaan delenda est
0

#10 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,412
  • Joined: 2004-August-21
  • Gender:Male

Posted 2009-April-02, 16:15

The problem is that you'll end up with something like FD, which handles the really easy cases OK. But anyone who wants to go beyond the handful of canned scripts that are provided will be at a loss. Such applications look nice in demos, but are not much good in the long run.

#11 User is offline   hanp 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,987
  • Joined: 2009-February-15

Posted 2009-April-02, 16:22

hrothgar, on Apr 2 2009, 04:06 PM, said:

WOW

I was excited enough about this feature that I left work early so I could play with it.

I just tried a "Baptism by Fire" I input one of my old MOSCITO scripts and the system behaved with flying colors.

Here's an example of the type of stuff you can do with this new system:

The following script provides a decent enough approximation of my opening style playing MOSCITO.

The initial "X" lines of this script define all of the nromal opening bids.

I can edit the last line of the script to state what bid I want the hand generator to create. At the moment, the script will cause Dealer to generate Two Diamond openings. (Please note: These are assumed fit 2D openings that show

4+ Diamonds,
4+ cards in either major
insufficient strength for a constructive opening
and enough strength / shape for a preempt

THIS FEATURE IS REALLY REALLY COOL!!!!!!!!!!





_____________________


######### Definition - Opening Points

# 11 is the index for c13
# This function allows the user to define valuations for cacluating
# HCP
# Most hand evaluation is performed used a modified version of
# the 4 Aces Point Count.(Ace = 3, King = 2, ...)
# All values are multiplied by 100 to avoid fractions

altcount 11 300 200 100 50 20

############## STRONG OPENINGS

one_club =

(
hcp(north)>=17
or
c13(north) >=1000
or
(hcp(north)>=15 and cccc(north)>=1600 and c13(north)>=900)
or
(hcp(north)==14 and cccc(north)>=1900 and c13(north)>=900)
or
(hcp(north)==13 and cccc(north)>=2000 and c13(north)>=900)
or

(
hcp(north)>=15 and
shape(north, any 4333 + any 4432 + any 5332 + any
5422)
and
c13(north) >= 900
)

)

#####
#Opening strength defines the minimum strength for a limited #opening bid
#####

opening_strength =
(
(
cccc(north) - 25 * shape(north, any 4441 + any 5440) >= 1050

or hcp(north) >= 11
)

and
c13(north) >= 600
)

and not

one_club

#MOSCITO Opening structure

#################### SINGLE SUITED PREEMPTS

#################### MAJORS

four_diamonds =

(
(
spades(north) >= 8 and
hascard(north, AS) + hascard(north, KS) == 2
)

or

(
spades(north) == 7 and
hascard(north, AS) + hascard(north, KS) + hascard(north,QS) == 3
)
)

and

hascard(north,AC) + hascard(north,KC) +
hascard(north,AD) + hascard(north,KD) +
hascard(north,AH) + hascard(north,KH) <=1

four_spades =

hcp(north) <= 9

and

(
(
spades(north) >= 7 and

hascard(north, AS) + hascard(north, KS) +
hascard(north,QS) + hascard(north, JS) >= 3
)

or

spades(north) >= 8
)

and not four_diamonds

three_spades =

spades(north) >= 6

and

(
hascard(north, AS) + hascard(north, KS) +
hascard(north, QS) + hascard(north, JS) >= 2
)

and

(
hearts(north) <=1 or
diamonds(north) <=1 or
clubs(north) <= 1
)

and

hcp(north) <= 9

and not four_diamonds

and not four_spades

four_clubs =

(
(
hearts(north) >= 8 and
hascard(north,AH) + hascard(north,KH) == 2
)
or

(
hearts(north) == 7 and
hascard(north,AH) + hascard(north,KH) + hascard(north,QH) == 3
)
)

and

hascard(north,AC) + hascard(north,KC) +
hascard(north,AD) + hascard(north,KD) +
hascard(north,AS) + hascard(north,KS) <=1

four_hearts =

hcp(north) <= 9

and

(
(
hearts(north) >= 7 and

hascard(north, AH) + hascard(north, KH) +
hascard(north,QH) + hascard(north, JH) >= 3
)

or

spades(north) >= 8
)

and not four_clubs

three_hearts =

hearts(north) >= 6

and

(
hascard(north, AH) + hascard(north, KH) +
hascard(north, QH) + hascard(north, JH) >= 2
)

and

(
spades(north) <=1 or
diamonds(north) <=1 or
clubs(north) <= 1
)

and

hcp(north) <= 9

and not four_clubs

and not four_hearts

############## MINORS

three_nt =

hcp(north) <= 9

and

(
(
clubs(north) >= 8
and
hascard(north,AS) + hascard(north,KS) +
hascard(north,AH) + hascard(north,KH) +
hascard(north,AD) + hascard(north,KD) <= 1
)

or

(
diamonds(north) >= 8
and
hascard(north,AS) + hascard(north,KS) +
hascard(north,AH) + hascard(north,KH) +
hascard(north,AC) + hascard(north,KC) <= 1
)
)

three_clubs =

clubs(north) >= 6

and

hascard(north, AC) + hascard(north, KC) + hascard(north, QC) == 2 and

hascard(north, AD) + hascard(north, KD) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hcp(north) <=9

and not three_nt

three_diamonds =

diamonds(north) >= 6

and

hascard(north, AD) + hascard(north, KD) + hascard(north, QD) == 2 and

hascard(north, AC) + hascard(north, KC) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hcp(north) <=9

and not three_nt

two_nt =

(clubs(north) >=6 and

hascard(north, AC) + hascard(north, KC) + hascard(north, QC) +
hascard(north, JC) == 2

and

hascard(north, AD) + hascard(north, KD) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0

and

hascard(north, QD) + hascard(north, QH) + hascard(north, QS) <= 1

and

not three_clubs)

or

(diamonds(north) >=6 and

hascard(north, AD) + hascard(north, KD) + hascard(north, QD) +
hascard(north, JD) == 2

and

hascard(north, AC) + hascard(north, KC) +
hascard(north, AH) + hascard(north, KH) +
hascard(north, AS) + hascard(north, KS) == 0 and

hascard(north, QC) + hascard(north, QH) + hascard(north, QS) <= 1 and

not three_diamonds)

and not three_nt

preempts =
four_spades or
four_clubs or
three_spades or
four_hearts or
four_clubs or
three_hearts or
three_diamonds or
three_clubs or
three_nt or
two_nt

###############################
## Weak Opening Bids
###############################

two_diamonds =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325 and

shape(north, any 4432, any 54xx, any 55xx, any 65xx) and
clubs(north) <= 3 and
diamonds(north) >=4

two_hearts =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325 and

shape(north, any 4432, any 54xx, any 55xx, any 65xx) and
hearts(north) >= 4 and

(
spade(north) >= 4 or
clubs(north) >= 5
)

two_spades =

not opening_strength and
hcp(north) <= 12 and
c13(north) >= 325

and

(
(
shape(north, any 6322, any 6331, any 7222) and
spades(north) >=6
)

or

(
spades(north) >=4 and clubs(north) >=5
and hascard(north, AS) + hascard(north, KS) + hascard(north, QS) >= 1
)
)

############## LIMITED OPENINGS

##### Pre-Definitions

bad_spades = hascard(north, AS) + hascard(north, KS) + hascard(north,
QS) == 0
bad_hearts = hascard(north, AH) + hascard(north, KH) + hascard(north,
QH) == 0
balanced = shape(north, any 4432, any 5332, any 4333)

########

two_clubs =
opening_strength
and not preempts

and

(

(
clubs(north) >= 6 and
spades(north) < 4 and
hearts(north) < 3
)

or

(
clubs(north) >= 6 and
spades(north) == 4 and
bad_spades
)

or

(
clubs(north) >= 6 and
hearts(north) == 4 and
bad_hearts
)

)

one_notrump =

opening_strength and

(

(
balanced and not
shape(north, 5xxx, x5xx, 44xx, 4x4x, 4xx4, x44x, x4x4)
)

or

(
hearts(north) == 4 and
balanced and
(hcp(north) == 11 or hcp(north) == 12)
)

or

(
spades(north) == 4 and
balanced and
hearts(north) <= 3 and
(hcp(north) == 13 or hcp(north) == 14)
)

)

one_spade =
opening_strength
and not preempts
and not one_notrump

and

diamonds(north) >= 4 and
not one_notrump and
hearts(north) <4 and
spades(north) <4

or

(

diamonds(north) >=6 and

(
(spades(north) == 4 and bad_spades) or
(hearts(north) == 4 and bad_hearts)
)

)

one_heart =

opening_strength and
not two_clubs and
not one_notrump and
not one_spade and

(

(
spades(north) == 4 and
spades(north) > hearts(north)
)

or

(
spades(north) >= 5 and
spades(north) >= hearts(north)
)

)

one_diamond =

opening_strength and
not two_clubs and
not one_notrump and
not one_spade and
not one_heart

and

hearts(north) >= 4

and not

(balanced and hcp(north) <= 11)

###########

two_diamonds

Richard's post must be the second longest post ever.
and the result can be plotted on a graph.
0

#12 User is offline   mtvesuvius 

  • Vesuvius the Violent Volcano
  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,216
  • Joined: 2008-December-04
  • Gender:Male
  • Location:Tampa-Area, Florida
  • Interests:SLEEPING

Posted 2009-April-02, 16:31

hanp, on Apr 2 2009, 05:22 PM, said:

Richard's post must be the second longest post ever.

Who's was the longest ever?
Yay for the "Ignored Users" feature!
0

#13 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-02, 16:34

mtvesuvius, on Apr 3 2009, 01:31 AM, said:

hanp, on Apr 2 2009, 05:22 PM, said:

Richard's post must be the second longest post ever.

Who's was the longest ever?

Look up...
Alderaan delenda est
0

#14 User is offline   jdonn 

  • - - T98765432 AQT8
  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,085
  • Joined: 2005-June-23
  • Gender:Male
  • Location:Las Vegas, NV

Posted 2009-April-02, 16:36

mtvesuvius, on Apr 2 2009, 05:31 PM, said:

hanp, on Apr 2 2009, 05:22 PM, said:

Richard's post must be the second longest post ever.

Who's was the longest ever?

Lol. Han gotcha!
Please let me know about any questions or interest or bug reports about GIB.
0

#15 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-02, 16:36

barmar, on Apr 3 2009, 01:15 AM, said:

The problem is that you'll end up with something like FD, which handles the really easy cases OK. But anyone who wants to go beyond the handful of canned scripts that are provided will be at a loss. Such applications look nice in demos, but are not much good in the long run.

For what its worth, I agree that its impractical to try to support every possible auction.

However, that's not reason not to knock off the easy cases...
Alderaan delenda est
0

#16 User is offline   eyhung 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 345
  • Joined: 2003-February-13
  • Location:San Jose, CA
  • Interests:bridge, poker, literature, boardgames, computers, classical music, baseball, history

Posted 2009-April-02, 16:39

Personally, I think a Wiki-style area would be best where we could upload scripts for people to share and download. I have around 20-30 scripts I wrote for Dealer several years ago that I'd be willing to share. People can choose the scripts they want -- there's no need to agree upon a standard.
Eugene Hung
0

#17 User is offline   Rain 

  • PipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 6,592
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Singapore

Posted 2009-April-03, 00:04

If you want to do it here, start a thread, it'll get pinned.

The opening thread ideally will include a summary, with links to subsequent scripts posted. OP can edit it, and any moderator can as well.
"More and more these days I find myself pondering how to reconcile my net income with my gross habits."

John Nelson.
0

#18 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-03, 04:26

Rain, on Apr 3 2009, 09:04 AM, said:

If you want to do it here, start a thread, it'll get pinned.

The opening thread ideally will include a summary, with links to subsequent scripts posted. OP can edit it, and any moderator can as well.

Would it be possible to create another section of the forums?

I think that it will enhance discoverability.
Alderaan delenda est
0

#19 User is offline   uday 

  • PipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 5,808
  • Joined: 2003-January-15
  • Gender:Male
  • Location:USA

Posted 2009-April-03, 06:18

Fixed TimG's bug with spacing etc. The output is now raw dealer output wrapped in <pre> and </pre> tags. Seems to work

Richard, I'm concerned that a new section will become a dead section ( from lack of use ).

What if we tried starting a thread ? If it sees traffic we can make it into a standalone section .


FG & I toyed with allowing Dealer specifications to be stored on the server side and made available in the client. Then we started talking about sharing & permissions and things got hairy, so we decided to set aside this aspect of the client.

Eugene's suggestion of a wiki is mildly interesting to me. Maybe we should build it, and if no one comes, toss it ?
0

#20 User is offline   hrothgar 

  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 15,380
  • Joined: 2003-February-13
  • Gender:Male
  • Location:Natick, MA
  • Interests:Travel
    Cooking
    Brewing
    Hiking

Posted 2009-April-03, 07:11

uday, on Apr 3 2009, 03:18 PM, said:

Fixed TimG's bug with spacing etc. The output is now raw dealer output wrapped in <pre> and </pre> tags. Seems to work

Richard, I'm concerned that a new section will become a dead section ( from lack of use ).

What if we tried starting a thread ? If it sees traffic we can make it into a standalone section .


FG & I toyed with allowing Dealer specifications to be stored on the server side and made available in the client. Then we started talking about sharing & permissions and things got hairy, so we decided to set aside this aspect of the client.

Eugene's suggestion of a wiki is mildly interesting to me. Maybe we should build it, and if no one comes, toss it ?

Hi Uday:

I would respond as follows:

So what if there is a dead section?

If the section gets use / grows / thrives then it has value.
If the section doesn't get use, its not costing anything.

The easiest way to proceed, might be to relable the "Full Disclosure Standard Systems" forum something like

User Contributed code for FD + Dealer

This won't clutter up the existing forum structure any more than it is now, but will still provide an area where folks can work.

As for the wiki idea:

If you're worried that folks won't use the resource, splitting users between two competing sites is the wrong way to go...

(In practice, a wiki is a poor substitute for a source control system)
Alderaan delenda est
0

  • 2 Pages +
  • 1
  • 2


Fast Reply

  

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users