class CountingBotPlayer(DummyBotPlayer): """ Robot player that counts played cards. """ def __init__(self, name): DummyBotPlayer.__init__(self, name) self.cards_left = CardSet() def vote(self): """ Vote for rami or nolo. """ self.cards_left = CardSet.new_full_deck() - self.hand super(CountingBotPlayer, self).vote() def card_played(self, player, card, game_state): """ Signal that a card has been played by the given player. """ if player == self: return if game_state.state == GameState.VOTING: pass elif game_state.state == GameState.ONGOING: # print "removing %s from %s" %(card, self.cards_left) try: self.cards_left.remove(card) except ValueError: print "Oops: removing card %s failed" % card