请选择 进入手机版 | 继续访问电脑版

GA地精研究院

 找回密码
 立即注册
查看: 65|回复: 3

[疑问] 如何设置随机玩家?

[复制链接]
发表于 2019-7-7 18:42:24 | 显示全部楼层 |阅读模式
我设定了两个玩家组,这两个玩家组分别负责不同的事情,例如玩家组A 负责控兵,玩家组B 负责运营造建筑物。
于是我在玩家加入的时候判定游戏属性,是选择控兵还是运营。

先挑选队伍1 中所有的玩家,条件是是否选择了运营
如果是,就划入运营组
如给不是,就划入控兵组。

但是运营组是可能出现1个以上的成员诞生的,于是我就需要从这些玩家组中随机选择一个。
询问别人后,发现自己触发还总是错误。

首先设置了局部变量 A = 0 <整数>

紧接着,设置局部变量A = (在1  和 (玩家运营组 全部玩家人数) 之间的随机数

挑选 运营组中的 每一位玩家执行动作

动作是IF
条件是 (被挑选的玩家)= (取自 运营玩家的 局部变量A)
这样就会随机挑选运营玩家中的一位了
动作是为他建立初始单位
否则就会划入到控兵组里面

但是实际做出来有点问题,当所有的玩家都是运营时候,也就是运营0的情况,就会出现没有人运营,于是我做了个随机从控兵玩家组挑选玩家

增加一个局部变量B = <整数>
设置局部变量B = (在1  和 (玩家控兵组 全部玩家人数) 之间的随机数

挑选 玩家组中的 每一位玩家执行动作
条件是 (被挑选的玩家)= (取自 控兵玩家的 局部变量B)
随机挑选控兵玩家中的一位

然而实际测验出来还是有问题,当0运营的情况还是会出现无人运营。

想问问有没有人做过类似的触发?

 楼主| 发表于 2019-7-7 18:43:35 | 显示全部楼层
还有就是全部人都是运营的时候,反而也会出现无人运营的情况。
回复 支持 反对

使用道具 举报

发表于 2019-7-8 09:00:10 | 显示全部楼层
本帖最后由 yxxiaobin 于 2019-7-8 09:07 编辑

首先设置了局部变量 A = 0 <整数>

紧接着,设置局部变量A = (在1  和 (玩家运营组 全部玩家人数) 之间的随机数


然后:将玩家A移出运营玩家组,将运营玩家组添加到控兵玩家组,将运营玩家组清空,将玩家A添加到运营玩家组。
这样运营玩家组就只剩下了玩家A,而其他的都在控兵组。
---------------------------------------------------------------
当所有的玩家都是不运营时候,也就是运营0的情况,就会出现没有人运营,于是我做了个随机从控兵玩家组挑选玩家

增加一个局部变量B = <整数>
设置局部变量B = (在1  和 (玩家控兵组 全部玩家人数) 之间的随机数


这时候操作和上面一样,只要将玩家B加入到运营组,并从控兵组中移出即可,都是没必要遍历玩家组的。

------------------------------------------------------------
记得前一阵子有人问过类似问题,我也写过一个演示,你可以参考一下。唯一不同的地方是,那人是进游戏后才选择阵营。https://bbs.islga.org/read-htm-tid-5485939-page-1-fpage-1.html
回复 支持 反对

使用道具 举报

发表于 2019-7-8 14:33:27 | 显示全部楼层
挑选 玩家组中的 每一位玩家执行动作
条件是 (被挑选的玩家)= (取自 控兵玩家的 局部变量B)
随机挑选控兵玩家中的一位

这里挑选 玩家组 的这个玩家组有良好定义吗,按理应该是控兵玩家组,如果不定义的话这段话自动就无效注释掉了。

随机挑选控兵玩家中的一位--〉如果你用了随机数B,那么就用 控兵玩家组中的B号玩家, 不然就直接随机挑选玩家好了,不用事先定义随机数。  这点其实毫无影响就是看着不舒服
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2019-8-26 09:29 , Processed in 0.048955 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表