贴吧用户_0V343Q3 -
路过围观竟躺着中枪,时耶,命耶?
关注数: 34 粉丝数: 74 发帖数: 4,135 关注贴吧数: 47
c++一段,求鉴定 Collateral::Collateral(Card::Suit suit, int number) :SingleTargetTrick(suit, number, false) { setObjectName("collateral"); } bool Collateral::isAvailable(const Player *player) const{ bool canUse = false; foreach(const Player *p, player->getSiblings()){ if(p->getMark("@wrath&#34;)&gt;0 && p->isAlive()){ canUse = true; break; } } return canUse && SingleTargetTrick::isAvailable(player); } bool Collateral::targetsFeasible(const QList<const Player *> &targets, const Player *) const{ return targets.length() == 2; } bool Collateral::targetFilter(const QList<const Player *> &targets, const Player *to_select, const Player *Self) const{ if(!targets.isEmpty()) { // @todo: fix this. We should probably keep the codes here, but change the code in // roomscene such that if it is collateral, then targetFilter's result is overrode Q_ASSERT(targets.length() <= 2); if (targets.length() == 2) return false; const Player* slashFrom = targets[0]; if (to_select:getMark("@wrath")<3) return true; else return false; } return to_select->getWeapon() != NULL && to_select != Self; } void Collateral::onUse(Room *room, const CardUseStruct &card_use) const{ Q_ASSERT(card_use.to.length() == 2); ServerPlayer *killer = card_use.to.at(0); ServerPlayer *victim = card_use.to.at(1); CardUseStruct new_use = card_use; new_use.to.removeAt(1); room->setTag("collateralVictim", QVariant::fromValue((PlayerStar)victim)); room->broadcastInvoke("animate", QString("indicate:%1:%2").arg(killer->objectName()).arg(victim->objectName())); //killer:loseMark("@wrath") //victim:gainMark("@wrath") SingleTargetTrick::onUse(room, new_use); } void Collateral::onEffect(const CardEffectStruct &effect) const{ ServerPlayer *source = effect.from; Room *room = source->getRoom(); ServerPlayer *killer = effect.to; ServerPlayer *victim = room->getTag("collateralVictim").value<PlayerStar>(); room->removeTag("collateralVictim"); killer->loseMark("@wrath") killer->drawCards(1) victim->gainMark("@wrath") //const Weapon *weapon = killer->getWeapon(); } 误导,出牌阶段,对一名有怒气的角色使用,将怒气转移给一名怒气不满的角色,然后摸一张牌。请问有错吗? @女王受·虫 @ailue
首页 1 2 下一页