I'm planning to try some poker bot programming in NLH, so I must know all the rules. I got almost all covered, but some all-in situations are not very clear to me. So I ask:
For all questions, BB=100
Say we have players 1 to 4 in order with stacks 50, 1000, 3000, 9000. Player 1 decides to bet: he goes all in 50. Now, what can player 2 do? I think all remaining players can only fold or call 50 because there is no full bet, so no one can raise. Is this correct?
Say a player bets 200, and the next player has exactly 200 in his stack and wants to call. Is he 'all-in'? Do I need to create side pots here? Suppose all other players have more than 200 and they either call or fold.
In my program, for every betting round, I'm tracking the following variables:
- SB, BB value and stack sizes.
- Full bet made (true or false).
- Full bet value in case full bet was made.
- Full raise made (true or false).
- Minimum raise, starting value is BB and is updated when someone bets or does a full raise.
- Current 'call' value, i.e. how much the current player needs to match to just call.
Is there some general rule/algorithm involving these variables? Or do I need to look at extreme cases?