多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
孙悟空使用标记令人流失体力的技能已经创建出来了,但是有一个问题也就随之而来了。每当进入孙悟空的判定阶段,它都可以通过发动极乐强制令所有人流失体力。因为即使孙悟空没有标记,也不影响“弃掉所有标记”的发动情况,不就是弃掉“0”个标记么?所以我们需要给这个技能加一个限制条件,让极乐只有在存在标记的情况下才能发动。于是,我们把技能改为: > 极乐:判定阶段开始时,你可以弃置所有的‘斗胜’标记(至少1枚),令所有其他角色各失去1点体力。 </br>不过这样我们就需要事先知道,发动技能的时候孙悟空究竟有多少标记。怎么查看标记的数目呢? </br>正在我们一筹莫展的时候,ServerPlayer它师傅Player看不下去了,拉过来了Player自己的一个成员函数`getMark`。原型是这样的: ``` getMark(mark) ``` ![](https://img.kancloud.cn/48/d8/48d8ea236c99b88e08d08f5d34632c69_393x24.png) </br>Player告诉我们,这个函数可以轻松获得一个武将身上指定标记的数目,那个参数`mark`就是标记的名字。 </br>带着这样的好帮手,我们信心满满地改起了我们的代码。 </br>进入判定阶段后,先用getMark获得斗胜标记数目,如果大于零,说明标记存在,这样才能询问是否发动技能,否则就直接跳过询问,不发动技能。 </br>代码如下: ![](https://img.kancloud.cn/86/e8/86e8c774238d6a5eb11cb40a27887d01_735x526.png) </br>于是,在游戏中…… </br>第一个回合,判定阶段,发动极乐,失去了所有的标记: ![](https://img.kancloud.cn/4d/c0/4dc0edb44c037bf3548f8ec9c05008d8_215x158.png) </br>结果第二个回合,没有标记了,判定阶段无所作为,直接进入了摸牌阶段: ![](https://img.kancloud.cn/ed/b7/edb71b251c4651a230e14a2fbbe7a5d0_261x59.png) </br>达到了我们的目的。 </br>(孙悟空:啊!这不就成了限定技了么?编者:不要在意这些细节……)