From 771a95fe32e5cdc813ef6650173575253d20aa63 Mon Sep 17 00:00:00 2001 From: Matt Turnbull Date: Fri, 13 Mar 2009 16:45:32 +0000 Subject: [PATCH 1/2] if holecards can be infered from summary line, indicate that they were 'shown' so that they can be output in summary line --- pyfpdb/Hand.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyfpdb/Hand.py b/pyfpdb/Hand.py index d91450be..6e7628a4 100644 --- a/pyfpdb/Hand.py +++ b/pyfpdb/Hand.py @@ -406,7 +406,7 @@ class HoldemOmahaHand(Hand): self.totalPot() # finalise it (total the pot) hhc.getRake(self) - def addHoleCards(self, cards, player): + def addHoleCards(self, cards, player, shown=False): """\ Assigns observed holecards to a player. cards list of card bigrams e.g. ['2h','Jc'] @@ -416,6 +416,8 @@ player (string) name of player try: self.checkPlayerExists(player) cardset = set(self.card(c) for c in cards) + if shown and len(cardset) > 0: + self.shown.add(player) if 'PREFLOP' in self.holecards[player]: self.holecards[player]['PREFLOP'].update(cardset) else: @@ -435,7 +437,7 @@ Card ranks will be uppercased elif holeandboard is not None: holeandboard = set([self.card(c) for c in holeandboard]) board = set([c for s in self.board.values() for c in s]) - self.addHoleCards(holeandboard.difference(board),player) + self.addHoleCards(holeandboard.difference(board),player,shown=True) def writeHand(self, fh=sys.__stdout__): From 21376c0b6289f6ca287c9e2164af3e3fa673f469 Mon Sep 17 00:00:00 2001 From: Matt Turnbull Date: Fri, 13 Mar 2009 16:50:46 +0000 Subject: [PATCH 2/2] slight change in logic, I hope the this is right: if win & show : player showed [x] and won $ elif win: player won $ elif folded: player folded else: if shown: player showed [x] and lost... else: player mucked --- pyfpdb/Hand.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pyfpdb/Hand.py b/pyfpdb/Hand.py index 6e7628a4..d5912f60 100644 --- a/pyfpdb/Hand.py +++ b/pyfpdb/Hand.py @@ -534,12 +534,15 @@ Card ranks will be uppercased print >>fh, _("Seat %d: %s showed [%s] and won ($%s)" % (seatnum, name, " ".join(self.holecards[name]['PREFLOP']), self.collectees[name])) elif name in self.collectees: print >>fh, _("Seat %d: %s collected ($%s)" % (seatnum, name, self.collectees[name])) - elif name in self.shown: - print >>fh, _("Seat %d: %s showed [%s]" % (seatnum, name, " ".join(self.holecards[name]['PREFLOP']))) + #~ elif name in self.shown: + #~ print >>fh, _("Seat %d: %s showed [%s]" % (seatnum, name, " ".join(self.holecards[name]['PREFLOP']))) elif name in self.folded: print >>fh, _("Seat %d: %s folded" % (seatnum, name)) else: - print >>fh, _("Seat %d: %s mucked" % (seatnum, name)) + if name in self.shown: + print >>fh, _("Seat %d: %s showed [%s] and lost with..." % (seatnum, name, " ".join(self.holecards[name]['PREFLOP']))) + else: + print >>fh, _("Seat %d: %s mucked" % (seatnum, name)) print >>fh, "\n\n"