Parser: playersAtStreet and streetSeen mods to fix >100% stats (log66)
This commit is contained in:
parent
274d23e525
commit
52b40a7ee6
|
@ -58,6 +58,11 @@ class DerivedStats():
|
||||||
self.handsplayers[player[1]]['foldedSbToSteal'] = False
|
self.handsplayers[player[1]]['foldedSbToSteal'] = False
|
||||||
self.handsplayers[player[1]]['foldedBbToSteal'] = False
|
self.handsplayers[player[1]]['foldedBbToSteal'] = False
|
||||||
self.handsplayers[player[1]]['tourneyTypeId'] = None
|
self.handsplayers[player[1]]['tourneyTypeId'] = None
|
||||||
|
self.handsplayers[player[1]]['street1Seen'] = False
|
||||||
|
self.handsplayers[player[1]]['street2Seen'] = False
|
||||||
|
self.handsplayers[player[1]]['street3Seen'] = False
|
||||||
|
self.handsplayers[player[1]]['street4Seen'] = False
|
||||||
|
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
self.handsplayers[player[1]]['street%dCalls' % i] = 0
|
self.handsplayers[player[1]]['street%dCalls' % i] = 0
|
||||||
|
@ -152,10 +157,11 @@ class DerivedStats():
|
||||||
else:
|
else:
|
||||||
self.handsplayers[player[1]]['tourneysPlayersIds'] = None
|
self.handsplayers[player[1]]['tourneysPlayersIds'] = None
|
||||||
|
|
||||||
|
#### seen now processed in playersAtStreetX()
|
||||||
# XXX: enumerate(list, start=x) is python 2.6 syntax; 'start'
|
# XXX: enumerate(list, start=x) is python 2.6 syntax; 'start'
|
||||||
#for i, street in enumerate(hand.actionStreets[2:], start=1):
|
#for i, street in enumerate(hand.actionStreets[2:], start=1):
|
||||||
for i, street in enumerate(hand.actionStreets[2:]):
|
#for i, street in enumerate(hand.actionStreets[2:]):
|
||||||
self.seen(self.hand, i+1)
|
# self.seen(self.hand, i+1)
|
||||||
|
|
||||||
for i, street in enumerate(hand.actionStreets[1:]):
|
for i, street in enumerate(hand.actionStreets[1:]):
|
||||||
self.aggr(self.hand, i)
|
self.aggr(self.hand, i)
|
||||||
|
@ -298,6 +304,7 @@ class DerivedStats():
|
||||||
|
|
||||||
# FIXME?? - This isn't couting people that are all in - at least showdown needs to reflect this
|
# FIXME?? - This isn't couting people that are all in - at least showdown needs to reflect this
|
||||||
# ... new code below hopefully fixes this
|
# ... new code below hopefully fixes this
|
||||||
|
# partly fixed, allins are now set as seeing streets because they never do a fold action
|
||||||
|
|
||||||
self.hands['playersAtStreet1'] = 0
|
self.hands['playersAtStreet1'] = 0
|
||||||
self.hands['playersAtStreet2'] = 0
|
self.hands['playersAtStreet2'] = 0
|
||||||
|
@ -324,17 +331,15 @@ class DerivedStats():
|
||||||
# actionStreets[1] is 'DEAL', 'THIRD', 'PREFLOP', so any player dealt cards
|
# actionStreets[1] is 'DEAL', 'THIRD', 'PREFLOP', so any player dealt cards
|
||||||
# must act on this street if dealt cards. Almost certainly broken for the 'all-in blind' case
|
# must act on this street if dealt cards. Almost certainly broken for the 'all-in blind' case
|
||||||
# and right now i don't care - CG
|
# and right now i don't care - CG
|
||||||
|
|
||||||
p_in = set([x[0] for x in hand.actions[hand.actionStreets[1]]])
|
p_in = set([x[0] for x in hand.actions[hand.actionStreets[1]]])
|
||||||
|
|
||||||
#
|
#
|
||||||
# discover who folded on each street and remove them from p_in
|
# discover who folded on each street and remove them from p_in
|
||||||
#
|
#
|
||||||
# i values as follows 0=BLINDSANTES 1=PREFLOP 2=FLOP 3=TURN 4=RIVER
|
# i values as follows 0=BLINDSANTES 1=PREFLOP 2=FLOP 3=TURN 4=RIVER
|
||||||
# (for flop games)
|
|
||||||
#
|
#
|
||||||
# At the beginning of the loop p_in contains the players with cards
|
# p_in is reduced each time to become a list of players still-in
|
||||||
# at the start of that street.
|
|
||||||
# p_in is reduced each street to become a list of players still-in
|
|
||||||
# e.g. when i=1 (preflop) all players who folded during preflop
|
# e.g. when i=1 (preflop) all players who folded during preflop
|
||||||
# are found by pfba() and eliminated from p_in.
|
# are found by pfba() and eliminated from p_in.
|
||||||
# Therefore at the end of the loop, p_in contains players remaining
|
# Therefore at the end of the loop, p_in contains players remaining
|
||||||
|
@ -344,10 +349,9 @@ class DerivedStats():
|
||||||
# note that i is 1 in advance of the actual street numbers in the db
|
# note that i is 1 in advance of the actual street numbers in the db
|
||||||
#
|
#
|
||||||
# if p_in reduces to 1 player, we must bomb-out immediately
|
# if p_in reduces to 1 player, we must bomb-out immediately
|
||||||
# because the hand is over, this will ensure playersAtStreetx
|
# because the hand is over, this will ensure playersAtxxxx
|
||||||
# is accurate.
|
# is accurate.
|
||||||
#
|
#
|
||||||
|
|
||||||
for (i, street) in enumerate(hand.actionStreets):
|
for (i, street) in enumerate(hand.actionStreets):
|
||||||
if (i-1) in (1,2,3,4):
|
if (i-1) in (1,2,3,4):
|
||||||
# p_in stores players with cards at start of this street,
|
# p_in stores players with cards at start of this street,
|
||||||
|
@ -363,11 +367,15 @@ class DerivedStats():
|
||||||
#
|
#
|
||||||
actions = hand.actions[street]
|
actions = hand.actions[street]
|
||||||
p_in = p_in - self.pfba(actions, l=('folds',))
|
p_in = p_in - self.pfba(actions, l=('folds',))
|
||||||
#
|
|
||||||
# if everyone folded, we are done, so exit this method immediately
|
|
||||||
#
|
|
||||||
if len(p_in) == 1: return None
|
if len(p_in) == 1: return None
|
||||||
|
self.hands['playersAtStreet%d' % i] = len(p_in) # nb playersAtStreet0 is set, but not saved
|
||||||
|
#
|
||||||
|
# we know who remains, so can set streetxSeen for them
|
||||||
|
# nb do NOT process for i=0 as column does not exist!
|
||||||
|
# this code replaces seen() - more info log 66
|
||||||
|
#
|
||||||
|
for player_not_folded in p_in:
|
||||||
|
self.handsplayers[player_not_folded]['street%sSeen' % i] = (i > 0)
|
||||||
#
|
#
|
||||||
# The remaining players in p_in reached showdown (including all-ins
|
# The remaining players in p_in reached showdown (including all-ins
|
||||||
# because they never did a "fold" action in pfba() above)
|
# because they never did a "fold" action in pfba() above)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user