dealer — bridge hand generator
Synopsisdealer [-023ehuvmqV] [-p n] [-g n] [-s seed] [-l n] [inputfile]
Description and exampleThe program dealer can be used to generate hands for partnerships bidding training or for generating statistics that can be used to design conventions, or win postmortems.
Running the program involves 3 steps. First, the user has to write an input file containing hand-descriptions and action. A very simple example would look something like:
condition shape(north, any 4333 + any 4423) and hcp(north)>=19 action printall
The first line specifies a condition for the north hand, in this case, a hand with 4333 or 4432 shape and at least 19 high card points. The second line tells the program to print the 4 hands. The program reads from standard input, so in principle, it is possible to enter the conditions directly into the program. Using a file is a lot more practical though, as it allows the user to re-use conditions and fine-tune the conditions.
Then the program has to be run, it reads the file, looks at the various command line switches and then produces a number of hands. The output appears on the screen but can be re-directed to a file.
Finally, the user has to look at output and analyze the produced hands. Alternatively, the output can be used for a playing program.
- Exhaust mode (alpha version).
- -g number
- Maximum number of hands to generate (default is 1000000).
- -l number
Instead of shuffling, deals are read from the file library.dat by M. Ginsberg
(see ). When using this, the tricks() function is quite fast and bridge.exe
from GIB is not used.
- Shows a progress meter.
- -p number
- Maximum number of hands to produce (default is 40).
- Suppress PBN output (useful for testing, then switch it back on when generating the ``final'' sample).
- -s number
- Uses number as the seed for the random generator, running the program twice with the same seed will produce the same sequence of hands.
- Select uppercase for the symbols ``AKQJT'' (default is lowercase).
- Toggle verbose output, prints statistics at the end of the run (default is on).
- Emit a version-identification string and exit.
- Help, prints the syntax.
- No swapping, each deal is generated normally (shuffling) (default).
- 2-way swapping, after each shuffle another deal is generated by permuting E and W, leaving N and S in place (NB: not fully compatible with predeal).
- 3-way swapping, after each shuffle another 5 deals are generated by permuting E, W, and S every which way, leaving N in place (NB: not fully compatible with predeal).
BugsI would prefer if you did not use this program for generating hands for tournaments. I have not investigated the random number generation closely enough for me to be comfortable with that thought.
Copyright and licenseThis program is hereby put in the public domain. Do with it whatever you want, but I would like you not to redistribute it in modified form without mentioning the fact of modification. I will accept bug reports and modification requests, without any obligation of course, but fixing bugs someone else put in is beyond me.