标记的获得已经实现了,但是看看人家神吕布,发动技能都是要用标记的;眼看着自己的标记数目只升不降,也不是个事儿呀!我们又该怎么做到把标记弃掉呢?
</br>这时ServerPlayer为我们又提供了另一个两个成员函数,来帮我们解决这个烦恼。第一个函数性格温和,它是:`loseMark`。原型如下:
```
loseMark(mark, n=1)
```
![](https://img.kancloud.cn/c1/2b/c12b338946b96669807e5dde9ef4d6f9_460x22.png)
</br>这个函数可以用来去除指定数目的特定标记。它的参数含义和`gainMark`的那两个参数含义是相同的,`mark`表示标记的名字,`n`表示去除标记的数目。
</br>另一个函数则更暴躁一些,它是:`loseAllMarks`。原型如下:
```
loseAllMarks(mark)
```
![](https://img.kancloud.cn/0b/31/0b31f3e5c40da2cce7eb0dbf584b7176_443x25.png)
</br>这个函数可以用来清除所有指定的标记,而它的参数mark就是标记名了。
</br>下面我们来创建一个使用标记的技能:
> 极乐:判定阶段开始时,你可以弃置所有的‘斗胜’标记,令所有其他角色各失去1点体力。
</br>忽然遇到一个问题:怎样得到全场其他所有角色的列表呢?
</br>Room老兄站了出来,为我们保举了它的一个成员函数:`getOtherPlayers`。
</br>这个函数的原型是:
```
getOtherPlayers(except)
```
![](https://img.kancloud.cn/ca/73/ca731812653d862bb5f52d5336d7a4f6_665x24.png)
</br>其中`except`表示被排除的那个家伙,在我们这里自然就是孙悟空自己了。
</br>代码方面就是这样了——
![](https://img.kancloud.cn/26/7e/267e9b713fbb213928d7d79cfd1a4968_692x460.png)
</br>哦?那个sgs.qlist是怎么回事?
</br>听说那是一个把门的卫士,而我们从`getOtherPlayers`那里得到的列表其实是一个角色的列表,每当我们需要从列表里面点一名角色出来的时候,这个卫士就到列表里面把最靠近门的角色给我们拽出来~
</br>所以在下面的对所有角色进行扫描的时候,sgs.qlist就帮了我们大忙,每次轮到它工作的时候,它就从playerlist列表中拽一个出来,交到前面那个dest那里去,如此反复,直到列表中的所有角色都被检查了个遍!(这个sgs.qlist,好像程序员们称呼它为:迭代算子)
</br>暗暗地告诉自己:关于列表的问题,我们是可以在旁边那个extension-doc\Fundamentals.lua文件里面找到许多说明的。
</br>好啦,到游戏中看看效果吧!
</br>判定阶段……
![](https://img.kancloud.cn/c3/a8/c3a83bc502edf1cf47dbb74ece7054d9_836x401.png)
</br>果断发动极乐!
![](https://img.kancloud.cn/ae/fa/aefa7f1808c92072fe8bb9f87326dfe9_426x190.png)
</br>看到没有?标记没有啦!
![](https://img.kancloud.cn/59/53/5953ae355abc650050c94109169f4791_465x239.png)
</br>任务完成!
- 编写说明
- 第一章 创建一个新武将
- 1.1 开发环境准备
- 1.2 创建一个新的武将扩展包
- 1.3 创建我们的新武将
- 第二章 添加技能
- 第三章 武将美化
- 3.1 美化环境准备
- 3.2 添加武将卡牌
- 3.3 添加武将头像
- 3.4 添加武将标签
- 第四章 创建一个新技能
- 第五章 添加音效
- 5.1 打造自己的声音工作室
- 5.2 添加技能使用音效
- 5.3 添加武将阵亡音效
- 第六章 添加提示信息
- 6.1 添加代码注释
- 6.2 显示提示信息
- 6.3 启动全屏信息特效
- 第七章 武将变更
- 第八章 启用AI
- 8.1 创建我们的AI文件
- 8.2 真实的AI
- 8.3 动手写AI
- 第九章 修改距离
- 第十章 技能管理
- 10.1 技能判定
- 10.2 创建技能
- 10.3 获得技能
- 10.4 失去技能
- 第十一章 修改手牌上限
- 第十二章 体力变更
- 12.1 流失体力
- 12.2 制造伤害
- 13.3 恢复体力
- 12.4 流失体力上限
- 12.5 增长体力上限
- 第十三章 游戏进程的变更
- 13.1 创建阶段触发技能
- 13.2 跳过回合阶段
- 13.3 插入一个额外的回合阶段
- 13.4 启用翻面
- 13.5 获得一个额外的回合
- 第十四章 启用标记(Mark)
- 14.1 添加标记
- 14.2 获得标记
- 14.3 失去标记
- 14.4 查看标记数目
- 第十五章 卡牌转换
- 15.1 主动牌的转换
- 15.2 被动牌的转换
- 第十六章 卡牌传递
- 16.1 创建摸牌技能
- 16.2 游戏中摸牌
- 16.3 游戏中弃牌
- 16.4 从其他武将处获得牌
- 16.5 判断目标区域是否有牌
- 16.6 移动场上的牌
- 第十七章 用牌实现技能效果
- 第十八章 启用标志(Flag)
- 第十九章 涉足判定领域
- 19.1 启用判定
- 19.2 更改判定
- 19.3 获得判定牌
- 第二十章 私家牌堆
- 20.1 向牌堆中添加牌
- 20.2 查看牌堆中牌的数量
- 20.3 从牌堆中移除牌
- 第二十一章 牌的锁定
- 第二十二章 免疫牌
- 第二十三章 让房间提供牌
- 23.1 提供主动牌
- 23.2 提供被动牌
- 第二十四章 启用标签(Tag)
- 第二十五章 濒死结算
- 第二十六章 交换座次
- 第二十七章 创建主公技
- 27.1 创建由主公发起的主公技
- 27.2 创建由他人发起的主公技
- 第二十八章 强力技能
- 28.1 直接死亡
- 28.2 改换身份
- 28.3 原地复活
- 28.4 立即胜利