Example #1
0
    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()
Example #2
0
    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')
Example #3
0
 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)
Example #4
0
    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]
Example #7
0
    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)
Example #8
0
    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()
Example #9
0
    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
Example #11
0
    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()
Example #12
0
    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()
Example #13
0
    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)
Example #14
0
    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()
Example #15
0
    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()
Example #16
0
    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
Example #17
0
    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)
Example #19
0
    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()