User:Akasch/Poker programming language

PPL (Poker Programming Language) - PPL is a language designed specifically for poker players to program automatic poker playing programs. It uses minimum syntactic elements so that it is easy to learn for non programmers and poker programmers can start using it quickly. It is designed to control how a bot plays poker. Complete play instructions can be programmed or PPL can be used to default default play in certain situations. PPL works for Holdem and Omaha for both Hi only and Hi Lo games and can be easily customized for all kinds of poker games. The language can be used for academic research as well as to allow bot users to customize their bot's play in live games.

PPL is structured as follows. Instructions for pre-flop, flop, turn and river are specified in seperate sections. Each section consists of a series of Statements. Each Statement consists of a Codition and an Action to take if the Condition is true. A Statement starts with the word When and is of the form:

When  

The  specifies a situation in which to take the specified . For example:

When Hand = AA Raise

The above tells the bot to raise when it is dealt pocket aces. In the above “Hand = AA” is the  and “Raise” is the 

Variables exist so that Conditions can specify hand cards, board cards, the number of folds, checks, calls, bets or raises made by opponents or the bot, the number of players at the table, the size of the pot, stack sizes, bet and raise sizes, position of the bot or of the last raiser or caller, random numbers and several variables to describe the board state or what the automatic player has. For example HaveTopPair is true when the automatic player is holding the Top Pair. Variables giving the board state in a prior round of play also exist. For example PairOnBoardOnFlop is true if a pair was on board on the flop. Conditions can be combined using the boolean operators - AND, OR & NOT and can be grouped using parenthesis.

Actions tell the program, what to do when the condition is true. Actions can be to fold, check, call, bet, raise, sitout or to nothing except to beep to alert the human user to take the action himself/herself. The amount to bet or raise can also be specified as part of the action in terms of the number of big blinds or as a percentage of the current pot size.

The complete PPL manual can be downloaded from URL.

http://bonusbots.com/PPLguide.pdf