示例#1
0
文件: state.py 项目: emish/hearthbot
    def opp_play_minion(self, cardId, card_id, pos):
        """The opponent plays a minion with a specific position.
        """
        minion = card_from_id(cardId, card_id)
        if minion:
            minion.zone = "PLAY"
            minion.pos = pos
            # if its a hero power or weapon, add it to game but not our play area
            if isinstance(minion, HeroPower) or isinstance(minion, Weapon):
                logger.info("Moving Hero Power/Weapon to play but not as minion: {}".\
                             format(minion))
                self.add_card_to_game(minion)
                return
            
            if isinstance(minion, Hero):
                logger.info("Adding opponent hero to play: {}".format(minion))
                self.add_card_to_game(minion)
                self.opponent.hero = minion
                return

            if self.add_card_to_game(minion):
                self.opponent.minions.append(minion)
                logger.info("OPPONENT plays: {}".format(minion))
                logger.info("OPPONENT's minions:\n"+pprint.pformat(self.opponent.minions))
        else:
            logger.error("Trying to add opponent minion {} (card_id={}) to PLAY but no minion found with that name.".\
                         format(cardId, card_id))
示例#2
0
    def opp_play_minion(self, cardId, card_id, pos):
        """The opponent plays a minion with a specific position.
        """
        minion = card_from_id(cardId, card_id)
        if minion:
            minion.zone = "PLAY"
            minion.pos = pos
            # if its a hero power or weapon, add it to game but not our play area
            if isinstance(minion, HeroPower) or isinstance(minion, Weapon):
                logger.info("Moving Hero Power/Weapon to play but not as minion: {}".\
                             format(minion))
                self.add_card_to_game(minion)
                return

            if isinstance(minion, Hero):
                logger.info("Adding opponent hero to play: {}".format(minion))
                self.add_card_to_game(minion)
                self.opponent.hero = minion
                return

            if self.add_card_to_game(minion):
                self.opponent.minions.append(minion)
                logger.info("OPPONENT plays: {}".format(minion))
                logger.info("OPPONENT's minions:\n" +
                            pprint.pformat(self.opponent.minions))
        else:
            logger.error("Trying to add opponent minion {} (card_id={}) to PLAY but no minion found with that name.".\
                         format(cardId, card_id))
示例#3
0
 def opp_play_spell(self, cardId, card_id):
     spell = card_from_id(cardId, card_id)
     if spell:
         spell.zone = "PLAY"
         logger.info("OPPONENT plays: {}".format(spell))
         self.add_card_to_game(spell)
     else:
         logger.error("Trying to add opponent spell {} (card_id={}) to PLAY but no spell found with that name.".\
                      format(cardId, card_id))
示例#4
0
文件: state.py 项目: emish/hearthbot
 def opp_play_spell(self, cardId, card_id):
     spell = card_from_id(cardId, card_id)
     if spell:
         spell.zone = "PLAY"
         logger.info("OPPONENT plays: {}".format(spell))
         self.add_card_to_game(spell)
     else:
         logger.error("Trying to add opponent spell {} (card_id={}) to PLAY but no spell found with that name.".\
                      format(cardId, card_id))
示例#5
0
 def add_card_to_hand(self, cardId, card_id):
     """Add a card with cardId and id to hand.
     Add it to game.
     """
     card = card_from_id(cardId, card_id)
     if card:
         logger.info("DRAW CARD: {}".format(card))
         card.zone = "HAND"
         self.add_card_to_game(card)
         self.tingle.hand.append(card)
         self.drew_card_this_turn = True
     else:
         logger.error("Trying to add card {} (card_id={}) to HAND but no card with that name found".\
                       format(cardId, card_id))
     logger.info("Cards in HAND:\n" + pprint.pformat(self.tingle.hand))
示例#6
0
文件: state.py 项目: emish/hearthbot
 def add_card_to_hand(self, cardId, card_id):
     """Add a card with cardId and id to hand.
     Add it to game.
     """
     card = card_from_id(cardId, card_id)
     if card:
         logger.info("DRAW CARD: {}".format(card))
         card.zone = "HAND"
         self.add_card_to_game(card)
         self.tingle.hand.append(card)
         self.drew_card_this_turn = True
     else:
         logger.error("Trying to add card {} (card_id={}) to HAND but no card with that name found".\
                       format(cardId, card_id))
     logger.info("Cards in HAND:\n"+ pprint.pformat(self.tingle.hand))
示例#7
0
    def play_minion(self, cardId, card_id):
        # If the minion was already in our hand, use that one
        card = self.card_with_id(card_id)
        if card:
            card.zone = "PLAY"
            self.tingle.minions.append(card)
            logger.info("TINGLE plays minion from hand: {}".format(card))
            self.tingle.spend_mana(int(card.cost))
            return

        # this is a minion that was not in our hand (or in play)
        if not card:
            minion = card_from_id(cardId, card_id)
            if minion:
                minion.zone = "PLAY"
                # if its a hero or hero power, add it to game but not our play area
                if isinstance(minion, HeroPower) or isinstance(minion, Weapon):
                    logger.info("Moving Hero Power/Weapon to play but not as a minion: {}".\
                                 format(minion))
                    self.add_card_to_game(minion)
                    return

                if isinstance(minion, Hero):
                    logger.info("Adding our hero to play: {}".format(minion))
                    self.add_card_to_game(minion)
                    self.tingle.hero = minion
                    return

                logger.info("Playing a minion that was not in our hand!")
                if self.add_card_to_game(minion):
                    self.tingle.minions.append(minion)
                    logger.info("TINGLE plays: {}".format(minion))
                    logger.info("TINGLE's minions:\n" +
                                pprint.pformat(self.tingle.minions))
            else:
                logger.error("Trying to add minion {} (card_id={}) to PLAY but no minion found with that name".\
                             format(cardId, card_id))
示例#8
0
文件: state.py 项目: emish/hearthbot
    def play_minion(self, cardId, card_id):
        # If the minion was already in our hand, use that one
        card = self.card_with_id(card_id)
        if card:
            card.zone = "PLAY"
            self.tingle.minions.append(card)
            logger.info("TINGLE plays minion from hand: {}".format(card))
            self.tingle.spend_mana(int(card.cost))
            return

        # this is a minion that was not in our hand (or in play)
        if not card:
            minion = card_from_id(cardId, card_id)
            if minion:
                minion.zone = "PLAY"
                # if its a hero or hero power, add it to game but not our play area
                if isinstance(minion, HeroPower) or isinstance(minion, Weapon):
                    logger.info("Moving Hero Power/Weapon to play but not as a minion: {}".\
                                 format(minion))
                    self.add_card_to_game(minion)
                    return
                
                if isinstance(minion, Hero):
                    logger.info("Adding our hero to play: {}".format(minion))
                    self.add_card_to_game(minion)
                    self.tingle.hero = minion
                    return
                
                logger.info("Playing a minion that was not in our hand!")
                if self.add_card_to_game(minion):
                    self.tingle.minions.append(minion)
                    logger.info("TINGLE plays: {}".format(minion))
                    logger.info("TINGLE's minions:\n"+pprint.pformat(self.tingle.minions))
            else:
                logger.error("Trying to add minion {} (card_id={}) to PLAY but no minion found with that name".\
                             format(cardId, card_id))