搜索
发新帖

2种方式随机选英雄

时间:2012-2-16 20:50 0 1676 | 复制链接 |
 演示要点:随机选择英雄重点当然在随机上,第一种方式是隐藏式随机,就是地图上没有出现任何英雄,直接在变量组中调用一个英雄;这里制作了一个新的模 式,数据递减,就是一共24个英雄类型,利用变量Dialog_Button_n来记录未被选择的英雄数量,当选择了其中一个以后,将已被选择过的英雄类 型通过替换移动到最末位,同时将Dialog_Button_n减少1,这样当选择了一个英雄后可选择的就是23个而且不会重复选择到已经选过的英雄类 型。而第二种方式是读取地图上存在的英雄并添加到单位组,然后随机选择一个变量组中的英雄改变所属并将该单位移出单位组,也不会被重复选择。这两个触发都 没有事件,直接通过对话框按钮调用,当然自己制作的时候可以添加需要的事件。
random choice hide
事件
条件
动作
-------- 24为可选英雄类型的总数量 --------
设置 Dialog_Button_n = 24
-------- 因为采用数值转玩家索引的方式连续队列创建英雄,所以所有玩家必须是从1开始的连续编号 --------
For循环整数A从 1 到 ((所有符合 ((((匹配玩家) 的控制者) 等于 用户) and (((匹配玩家) 的游戏状态) 等于 正在游戏)) 的玩家) 中的玩家数量), 做动作
Loop - 动作
等待 0.10 秒
设置 Dialog_Button_s = (随机整数,最小值: 1 最大值: Dialog_Button_n)
单位 - 创建 1 个 hero_type[Dialog_Button_s] 给 (玩家 (循环整数A)) 在 ((玩家 (循环整数A)) 的游戏开始位置) ,面向角度为 默认建筑朝向 度
设置 player_hero[(循环整数A)] = (最后创建的单位)
任务 - 对 (所有玩家) 发送 提示 信息: (((玩家 (循环整数A)) 的名字) + (选择了 + ((player_hero[(循环整数A)] 的名字) + !)))
设置 hero_type[25] = hero_type[Dialog_Button_s]
设置 hero_type[Dialog_Button_s] = hero_type[Dialog_Button_n]
设置 hero_type[Dialog_Button_n] = hero_type[25]
设置 Dialog_Button_n = (Dialog_Button_n - 1)


random choice show
事件
条件
动作
单位组 - 选取 ((可用地图区域) 内满足 ((((匹配单位) 是 英雄) 等于 TRUE) and (((匹配单位) 的所有者) 等于 中立被动)) 的所有单位) 内所有单位做动作
Loop - 动作
单位组 - 添加 (选取单位) 到 random_choice_show

For循环整数A从 1 到 ((所有符合 ((((匹配玩家) 的控制者) 等于 用户) and (((匹配玩家) 的游戏状态) 等于 正在游戏)) 的玩家) 中的玩家数量), 做动作
Loop - 动作
等待 0.10 秒
设置 player_hero[(循环整数A)] = (random_choice_show 中随机选取的一个单位)
单位 - 改变 player_hero[(循环整数A)] 所属为 (玩家 (循环整数A)) 并 改变颜色
单位组 - 把 player_hero[(循环整数A)] 从 random_choice_show 移除
任务 - 对 (所有玩家) 发送 提示 信息: (((玩家 (循环整数A)) 的名字) + (选择了 + ((player_hero[(循环整数A)] 的名字) + !)))


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