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()
def setUp(self): print 'Same player joining twice,', self.shortDescription() self.msngr = StubMessenger() self.interactsWithPlayers = InteractsWithPlayers(self.msngr) self.msngr.join('player') self.msngr.join('player')
def setUp(self): print 'Telling the players to bet,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') for player in self.inter.players: player.cards(['any cards']) self.tb = TakesBets(self.inter)
def setUp(self): print 'Starting the tournament,', self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) pt = PlaysTournament(inter) self.msngr.join('p1') self.msngr.join('p2') pt.start()
def setUp(self): print 'When down to one player,', self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.ph = PlaysHand(inter) self._done = False self.ph.evt_done += self.onDone
def setUp(self): print 'Announcing the winners,', self.shortDescription() self.msngr = StubMessenger() self.interact = InteractsWithPlayers(self.msngr, chips=1000) self.distribute = DistributesWinnings(self.interact) self.msngr.join('winner') self.msngr.join('loser') self.winner = self.interact.players[0] self.loser = self.interact.players[1]
def setUp(self): print 'Dealing cards for texas hold em,', self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.p1 = inter.players[0] self.p2 = inter.players[1] self.txh = DealsTexasHoldEm(inter)
def setUp(self): print 'When down to one player,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.inter.players[0].cards(['any cards']) self.tb = TakesBets(self.inter) self.tb.evt_done += self.onBetsTaken self.betsTaken = False self.tb.start()
def setUp(self): print 'After a hand is played,', self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) pt = PlaysTournament(inter) self.msngr.join('p1') self.msngr.join('p2') self.msngr.bet('p1', 100) self.msngr.bet('p2', 0) pt.start()
def setUp(self): print 'Dealing cards and taking bets,', self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.p1 = inter.players[0] self.p2 = inter.players[1] self.ph = PlaysHand(inter) self._done = False self.ph.evt_done += self.onDone
def setUp(self): print 'Player bets more than they have,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') for player in self.inter.players: player.cards(['any cards']) self.msngr.bet('p1', 2000) self.tb = TakesBets(self.inter) self.tb.start()
def setUp(self): print 'A player folding,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') for player in self.inter.players: player.cards(['any cards']) self.msngr.bet('p1', 2).bet('p2', 0) self.tb = TakesBets(self.inter) self.tb.start()
def testD_skipsPlayerThatAreNotPlaying(self): '''skips player that are not playing''' self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.msngr.join('p3') self.inter.players[1].cards(['any cards']) self.inter.players[2].cards(['any cards']) self.tb = TakesBets(self.inter) self.tb.start() self.assertEqual(('p2', 'GO'), self.msngr.lastMessage)
def setUp(self): print 'a player sends a non numeric message,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') for player in self.inter.players: player.cards(['any cards']) self.msngr.bet('p1', 'XX') self.tb = TakesBets(self.inter) self.tb.start()
def setUp(self): print 'a player places a bet out of turn,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') for player in self.inter.players: player.cards(['any cards']) self.msngr.bet('p2', 1000) self.tb = TakesBets(self.inter) self.tb.start()
def setUp(self): print 'deciding when all bets are taken,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.p1 = self.inter.players[0] self.p2 = self.inter.players[1] for player in self.inter.players: player.cards(['any cards']) self.tb = TakesBets(self.inter) self.tb.evt_done += self.onBetsTaken self.betsTaken = False
def setUp(self): description = 'Finishing the tournament,' print description, self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) pt = PlaysTournament(inter) pt._playsHand = FinishAfterFirstHand(inter) pt._playsHand.evt_done += pt._onHandDone self._done = False self.msngr.join('p1') self.msngr.join('p2') pt.evt_done += self._onTournamentFinished pt.start()
def setUp(self): print 'Rounds of cards and betting,', self.shortDescription() self.msngr = StubMessenger() inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.p1 = inter.players[0] self.p2 = inter.players[1] self.ph = PlaysHand(inter) self.ph.evt_done += self._onDone self._done = False self.msngr.bet('p1', 10).bet('p2', 10) self.msngr.bet('p1', 10).bet('p2', 10) self.msngr.bet('p1', 10).bet('p2', 10) self.msngr.bet('p1', 10).bet('p2', 10)
def setUp(self): print 'A player goes all in,', self.shortDescription() self.msngr = StubMessenger() self.inter = InteractsWithPlayers(self.msngr) self.msngr.join('p1') self.msngr.join('p2') self.p1 = self.inter.players[0] self.p2 = self.inter.players[1] self.p1.chips = 100 self.p2.chips = 50 for player in self.inter.players: player.cards(['any cards']) self.msngr.bet('p1', 60).bet('p2', 50) self.tb = TakesBets(self.inter) self.tb.start()