EPBot bidding modules are available as dll libraries:
EPBot86.dll + EPBot86.tlb for 32-bit programs;
EPBot64.dll + EPBot64.tlb for 64-bit programs;
EPBotARM64.dll for 64-bit programs.
The source code for both libraries is identical. Both libraries use the .NET Framework 4.8.
Features:
high speed of operation - within 1 second it is possible to make over 1,000 calls with interpretation;
low RAM consumption:
95 MB - 32-bit programs for 1600 bots;
134 MB - 64-bit programs for 1600 bots.
Configuration of bidding systems (convention card):
EPBot.system_name(system_number) As String - system descriptive name (read only);
EPBot.system_type(system_number) = system_type - setting the system type for the lines:
system_number:
0 - NS first room, WE second room;
1 - WE first room, NS second room,
system_type:
0 - 21GF;
1 - SAYC:
2 - WJ;
3 - PC,
EPBot.scoring = type_of_scoring:
0 - match points;
1 - imp,
EPBot.conventions (system, convention) As Boolean - convention is an index or a name. Enabling some conventions disables others, for example:
enabling the convention "Multi" disables:
"Weak natural 2D opening";
"Weak natural 2M opening";
"Wilkosz",
enabling the convention "Soloway Jump Shifts" disables:
"Bergen";
"Reverse Bergen";
"Mini splinter";
"Soloway Jump Shifts Extended".
EPBot.convention_index(convention_by_name) - indexes of conventions.
Auction:
EPBot.new_hand position, longer(), dealer, vulnerability - giving the player a new hand with an indication of the dealer and assumptions:
position:
0 - N;
1 - E;
2 - S;
3 - W,
dealer - the same as position;
vulnerability:
0 - both before;
1 - EW after the game;
2 - NS after the game;
3 - both after the game,
EPBot.get_bid - bid request;
EPBot.interpret_bid potential_bid - a command to interpret the specified potential_bid before it is fixed. Interpret this potential_bid as follows, with position = 13;
EPBot.set_bid position, bid - confirm of the player's bid in position and own interpretation of the bid.
The EPBot stores and makes available the following public information (reading and writing):
EPBot.info_meaning - contains descriptive meaning of the indicated player's bid;
EPBot.info_feature (position)() - contains a number of additional information about the selected player. Some items:
F_MIN_HCP = 102 - the minimum amount of HCP of the indicated player;
F_MAX_HCP = 103 - maximum amount of HCP of the indicated player;
F_MIN_PKT = 104 - the minimum number of balance points of the indicated player;
F_ZGLOSZONE_ASY = 106 - number of reported aces;
F_ZGLOSZONE_KROLE = 107 - number of reported kings;
F_ZGLOSZONA_KROTKOSC = 108 - reported suit of shortness;
F_FORCE_PARTNER As Long = 111 - forces partner if it has a value higher than the current bid (then "F" appears in the bid description in column 2);
F_FORCING_21 = 112;
F_POZYCJA_SFORSOWANA = 121 - 0 or 1 for forced (then "F" appears in the bid description in column 3);
F_GAME_FORCING = 143;
F_ARTIFICIAL_BID = 144 - 0 or 1 if is artificial (then "A" appears in the bid description in column 1);
EPBot.info_min_length (position)() - contains information about the revealed minimum suit length for the indicated player;
EPBot.info_max_length (position)() - contains information about the revealed maximum suit length for the selected player;
EPBot.info_probable_length (position) () - contains information about the probable length of suits for the selected player;
EPBot.info_suit_power (position)() - contains information about the revealed honor power of suits in the indicated player;
EPBot.info_honors (position)() - contains information about the revealed distribution of honor for the selected player (A16 + K8 + Q4 + J2 + T1);
EPBot.info_stoppers (position)() - contains information about the revealed stoppers for the selected player.
The above information is obtained from the EPBot and applies to the player in the positions described below.
Meaning of position:
positions 0-3 - public information based on auctions.
positions 4-7 - calculated private Information for Management Program Use.
position 13 - information on a potential bid entered by the command:
EPBot.interpret_bid potential_bid
Can only be used as a bid hint for the player to whom it is bidding.
The above information is comprehensive in the current situation.
If necessary, they should be remembered by the management software after each bid.
Also:
EPBot.copyright - copyrights;
EPBot.version - library version;
EPBot.used_conventions() - number of used conventions;
EPBot.get_hand() - for calculated position 4-7;
EPBot.get_probable_level(selected_strain) and EPBot.get_probable_levels() - estimated contract level for strains: 0-4 (clubs to NT) and 5 as a current strain (for current opponent strain) - it is based only on the hands of the bidder and the bidding of partner and opponents;
EPBot.get_SD_tricks(ByRef hand(partner_position).suit(), ByRef percentages())() - returns arrays of computed tricks and approximate percentages using a single dummy.
Percentages are simplified to the following values:
50;
70;
90.