Project1

标题: 请问怎么根据4个变量的数值大小进行排序,然后执行事件? [打印本页]

作者: 天空娃娃    时间: 2020-4-12 23:43
标题: 请问怎么根据4个变量的数值大小进行排序,然后执行事件?
就是我在做一个地图战斗的行动条YEP大佬的行动条插件就用不了了......然后就自己动手做,后来发现用变量不知道怎么根据变量数值的大小排序,求教
作者: yang1zhi    时间: 2020-4-13 00:19
先建立个数组,把所有要排列的人,都放进去。
然后判断他们谁最大。把他放到新的数组里,从旧的里面删除。
然后重复
作者: 天空娃娃    时间: 2020-4-13 00:53
yang1zhi 发表于 2020-4-13 00:19
先建立个数组,把所有要排列的人,都放进去。
然后判断他们谁最大。把他放到新的数组里,从旧的里面删除。
...

emmmmmmm大佬能举个例子么?如果不用代码只用软件里的脚本怎么搞....
作者: yang1zhi    时间: 2020-4-13 08:14
天空娃娃 发表于 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就是按攻击从大到小排的了





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1