Пример #1
0
    def __init__(self):
        self.deck = Deck()
        self.destroyedCards = []
        self.players = PlayerQueue()

        #coins dispersed
        self.treasury = 50 - 2 * self.players.numPlayers() #50 is starting amt

        #deck shuffled
        self.deck.shuffle()
Пример #2
0
    def tax(self, player, parts):
        if self.getCoins(player, parts, 3):
             
            self.broadcast_message("{} called TAX, the Duke ability, and will get 3 coins. Other players type \"/challenge\" or \"/pass\" to continue.\n".format(player.name))
            
            def failFunc(handler, passers, player):
                player.coins += 3
                handler.cg.treasury -= 3
		handler.broadcast_message("No challengers, {} has gained 3 coins.\n".format(player.name))
                handler.broadcast_message(handler.cg.players.advanceTurn())

	    
            def successFunc(handler, challengers, player):

                card = player.checkForCard('Duke')
                if card != -1:
                    #player exchanges Duke with deck
                    handler.cg.deck.swapCard(player, card) 

                    #player gets 3 coins
                    player.coins += 3
                    handler.cg.treasury -= 3

                    #challenger loses a card
                    target = challengers[0]
                    handler.destroy(player, target, 0)
                    handler.broadcast_message("Challenge failed! {0} reveals a Duke from his hand, exchanges it with the deck, and still gains 3 coins. {1} loses a card.\n".format(player.name, target.name)) 
                else:
                    #player loses a card
                    handler.broadcast_message("Challenge succeeded! {0} loses a card.\n".format(player.name))
                    handler.broadcast_message(handler.cg.players.advanceTurn())

            #TODO: Challenge vote given Tax
            voteQueue = PlayerQueue()
            for voter in self.cg.players.listPlayers():
                if not (voter.name == player.name):
                     voteQueue.addPlayer(player)
            passThreshold = (1 - self.cg.players.numPlayers()) * 100
            successArgs = [player]
            failArgs = [player]
            challenge = Vote(self, voteQueue, "challenge", 20, passThreshold, successFunc, successArgs, failFunc, failArgs)