🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
有时我们会对牌堆中的卡牌数目感兴趣,像邓艾屯的田越多,他计算距离时的优势就越大。 </br>那么要怎样查看牌堆中卡牌的数目呢?实际上,一个牌堆,就是一个卡牌编号的列表;而只要测量一下这个列表的长度,就等于知道了其中卡牌的数目了。这就是我们的处理思路。 </br>所以首先要先得到这个列表,也就是先获取到那个要查看的牌堆了。这可以用Player提供的一个成员函数`getPile`完成,它的原型是: ``` getPile(pile_name) ``` ![](https://img.kancloud.cn/33/ba/33babfaab0092092f4de5bc6544fecd1_514x26.png) </br>其中,`pile_name`表示指定牌堆的名字。 </br>拿到这个牌堆、也就是编号们的列表之后,我们就可以用一个叫做`length()`的方法测量出它的长度,从而得知牌堆中卡牌的数目了。 现在我们把佛光技能改成这样: > 佛光:每当你造成或受到1点伤害后,你可以摸一张牌并将其置于你的武将牌上,称为‘光’(最多5张)。 </br>这样,在技能触发时,我们要先检查一下牌堆里面“光”的数目,如果不足5张,才可以继续向牌堆里添加卡牌。 </br>代码如下: ![](https://img.kancloud.cn/b7/b4/b7b44fe90089f03f1d0b48bf53a5f422_724x395.png) </br>于是,当我们拥有5张"光"的时候, ![](https://img.kancloud.cn/25/66/2566180a149fb9626d70a9e9cd3ff3c6_170x173.png) </br>如果再造成了一点伤害…… ![](https://img.kancloud.cn/a8/3c/a83c92bc4c55008d51f3a6e97991ab9e_246x203.png) </br>可以很清楚地看到没有再继续发动佛光,达到了我们的目的!