javascript

时间:2015-09-03 19:04:02

标签: javascript arrays sorting object

我正试图在javascript中制作一个回合制游戏,但是我在迭代玩家的单位插槽时遇到了很多麻烦。

1)玩家可以有8个老虎机,所以我做了:

this.army = [
            {            
                amount: 2000,
                name:   'monster',           
                atk:    500,
                def:    600,
                spd:    10,
                hp:     500,
            },
            {
                amount: 1500,
                name:  'vampyre',
                atk:   700,
                def:   300,
                spd:   40,
                hp:    650,
            },
            {
                amount: 200,
                name:   'ghost',
                tier:   'frontline',
                atk:    500,
                def:    600,
                spd:    25,
                hp:     500,
            }
        ];

2)敌人也有类似的东西。 3)我确实创建了一个战斗队列(基于单位spd):

battleFollowing = function(attacker, defender) {
    var armyList = attacker.army.concat(defender.army);
    var orderedList = armyList.sort( function(a, b) {
                        var a1 = a.spd, b1 = b.spd;
                        if (a1 === b1) return 0;
                        return a1 > b1 ? -1 : 1;
                    });
    return orderedList;
}
但是这样,指挥官军队的命令与原来的安排不一样。如何定义原始槽索引以使用array.splice()函数删除死槽?

抱歉我的英文不好。

0 个答案:

没有答案