查看: 3120|回复: 3

[有事请教] 请问怎么根据4个变量的数值大小进行排序,然后执行事件?

[复制链接]
梦石
0
星屑
3341
在线时间
469 小时
注册时间
2014-2-6
回帖
217
发表于 2020-4-12 23:43:17 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
就是我在做一个地图战斗的行动条YEP大佬的行动条插件就用不了了......然后就自己动手做,后来发现用变量不知道怎么根据变量数值的大小排序,求教
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2020-4-13 00:19:26 | 显示全部楼层
先建立个数组,把所有要排列的人,都放进去。
然后判断他们谁最大。把他放到新的数组里,从旧的里面删除。
然后重复
回复

使用道具 举报

梦石
0
星屑
3341
在线时间
469 小时
注册时间
2014-2-6
回帖
217
 楼主| 发表于 2020-4-13 00:53:36 | 显示全部楼层
yang1zhi 发表于 2020-4-13 00:19
先建立个数组,把所有要排列的人,都放进去。
然后判断他们谁最大。把他放到新的数组里,从旧的里面删除。
...

emmmmmmm大佬能举个例子么?如果不用代码只用软件里的脚本怎么搞....
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2020-4-13 08:14:49 | 显示全部楼层
天空娃娃 发表于 2020-4-13 00:53
emmmmmmm大佬能举个例子么?如果不用代码只用软件里的脚本怎么搞....

举例
变量1 = [actor1,actor2,actor3,actor4,actor5]
//这里建立一个新的变量,和变量1一样,叫做变量2。
//用concat合并一个空的数组防止出现深浅复制的情况
var 变量2 = 变量1.concat([])
//建立一个空的变量
var 变量3 = []
//建立一 变量,保存能力值最大者的序号,和对象
var max = [0,变量2[0]]
//当变量2的单位数大于0就重复执行
while (变量2.length > 0) {
    //遍历变量2所有单位
    for (var i=0;i<变量2.length;i++) {
        //取变量2单位
        var actor = 变量2
        //判断当前单位的ATK是否比之前保存的最大值者要大
        if (actor.atk > max[1].atk) {
            //重新赋值最大能力值者
            var max = [i,actor]
        }
    }
    //把新第出的最大能力值者放到变量3后面
    变量3.push(max[1])
    //把新得出的最大能力值者从变量2从删除
    变量2.splice(max[0],1)
}

//这样变量3就是按攻击从大到小排的了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部