Пример #1
0
class RunsPokerGame(object):
    def __init__(self, opts):
        self.opts = opts
        self.done = False
        self.msngr = XmppMessenger(self.opts.dealerjid, self.opts.dealerpwd)

    def onDone(self, sender=None, args=None):
        self.msngr.sendMessage(self.opts.audiencejid, 'Game Over')
        self.msngr.finish()
        self.done = True

    def start(self):
        try:
            self.msngr.listen(self.opts.domain, self.opts.port)
            self.msngr.addTarget(self.opts.audiencejid)
            interacts = InteractsWithPlayers(self.msngr, self.opts.chips)
            startMessage = 'Game started, waiting for players'
            self.msngr.sendMessage(self.opts.audiencejid, startMessage)
            Thread(target=countdown, args=(self.opts.wait,)).start()
            time.sleep(self.opts.wait)
        except:
            print traceback.format_exc()

        if not interacts.players:
            msg = 'No players joined so quitting'
            self.msngr.sendMessage(self.opts.audiencejid, msg)
            print msg
        elif len(interacts.players) == 1:
            msg = 'Not enough players for a game so quitting'
            self.msngr.sendMessage(self.opts.audiencejid, msg)
            print msg
        else:

            try:
                game = PlaysTournament(interacts)
                game.evt_done += self.onDone
                game.start()
                while not self.done:
                    time.sleep(1)
            except:
                print traceback.format_exc()