接下来的是强力技能第二弹,我们将通过一些技能完成对玩家身份的改变。
</br>首先,先复习一下太阳神三国杀中的身份:
* 主公:sgs.Player_Lord,用字符串表示为"lord"
* 忠臣:sgs.Player_Loyalist,用字符串表示为"loyalist"
* 内奸:sgs.Player_Renegade,用字符串表示为"renegade"
* 反贼:sgs.Player_Rebel,用字符串表示为"rebel"
</br>我们可以通过Player的成员函数`getRole`得到一名玩家的身份。它的原型是这样的:
```
getRole()
```
![](https://img.kancloud.cn/6c/80/6c805a9ff902dfb2d400ffa807201ae2_242x26.png)
</br>`getRole`的结果是字符串形式的身份,我们可以很方便地使用它。
</br>而设置一名玩家的身份,要借助老朋友的力量了。我们可以通过设置属性的方式实现这一点,用的方法是之前我们已经遇到过的
`setPlayerProperty`。
</br>身份的属性名字就是"role"了,所以如果说我们要把将玩家身份改成内奸的情况告诉房间的话,应该这么写:
```
房间对象:setPlayerProperty(玩家对象, "role", sgs.QVariant("renegade"))
```
</br>好了,下面看一看技能吧:
> 忠心:锁定技,游戏开始时,若你的身份不为主公,你须将身份改为忠臣。
</br>代码方面是这样的:
![](https://img.kancloud.cn/b9/f5/b9f56d1e1b9e7b4411a4174f29d5cb7d_778x285.png)
</br>游戏效果:
</br>开一局八人身份局,容易发现:选择武将时,身份还是反贼……
![](https://img.kancloud.cn/5f/78/5f78ac144c4c3e3ae277c8a2abbfcebf_432x175.png)
</br>身份分配是四个反贼和两个忠臣:
![](https://img.kancloud.cn/83/0f/830feb515830b606a483e3f301cd42f6_260x69.png)
</br>结果进入游戏后就成为忠臣了!
![](https://img.kancloud.cn/27/50/2750db6784fe6dc3e3b50678bb9a8f96_213x173.png)
</br>当有角色阵亡时也能发现身份分配出现了变化——反贼和忠臣各三个:
![](https://img.kancloud.cn/26/16/26160d88583371c5c204d602dcae1250_259x65.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 立即胜利