Re: The Hand Converter Thread.
Looks like we're still missing all-In bets at party/empire. Example hand that doesn't catch the all-in correctly:
***** Hand History for Game 1839357678 *****
$50 NL Hold'em - Sunday, April 03, 17:07:57 EDT 2005
Table Table 37326 (Real Money)
Seat 1 is the button
Total number of players : 10
Seat 1: player1 ( $49.15 )
Seat 2: player2 ( $89.55 )
Seat 3: player3 ( $50.55 )
Seat 4: player4 ( $20 )
Seat 5: player5 ( $48.5 )
Seat 6: player6 ( $46.15 )
Seat 7: player7 ( $60.05 )
Seat 8: player8 ( $39.5 )
Seat 9: player9 ( $47.95 )
Seat 10: Hero ( $50 )
player2 posts small blind [$0.25].
player3 posts big blind [$0.5].
Hero posts big blind [$0.5].
** Dealing down cards **
Dealt to Hero [ Kc 4c ]
player5 folds.
player2: nh
player6 calls [$0.5].
player7 folds.
player8 calls [$0.5].
player9 folds.
Hero checks.
player1 folds.
player2 calls [$0.25].
player3 checks.
** Dealing Flop ** [ Jc, Ks, Ac ]
player2 bets [$2.4].
player3 folds.
player6 folds.
player8 raises [$8].
Hero calls [$8].
player2 folds.
** Dealing Turn ** [ 9c ]
player8 bets [$14].
Hero calls [$14].
** Dealing River ** [ 2d ]
player8 is all-In [$17]
Hero calls [$17].
player8 shows [ Ad, 9h ] two pairs, aces and nines.
Hero shows [ Kc, 4c ] a flush, ace high.
Hero wins $79.9 from the main pot with a flush, ace high.
Two things I noticed (might or might not matter depending on how your regex is written): After an all-in bet, there are two spaces between the action and the amount, whereas with a bet/call/raise there's only one. (This is almost impossible to see unless you're reading it in a fixed-pitch font!) Also, there's no period at the end of an all-in, whereas there is a period at the end of all the other actions.
Specifically:
player8 is all-In [$17] # two spaces, no period
Hero calls [$17]. # one space, period
After a bit more pecking, I think the space is relevant. If I change "player8 is all-In [$17]" to "player8 bets [$17]" it's still busted. But if I use "player8 bets [$17]" with one space it works.
I suppose you could either code up a new action for "goes all in" and just parse that, or do the extra logic to figure out whether "is all-In" translates to "bets" "calls" or "raises". Personally, I think it's more useful (and probably easier for you to code) if you treat all-in as it's own action, since all in can in some cases be a partial bet (which you probably don't trap in the existing code).
Anyway, this thing is awesome and having some idea how much time you've spent on it, the poker world owes you a debt of gratitute. ;-)
--weaselboy
|