Screeps得到具有特定记忆的所有小兵(角色)

Axe*_*nth 7 javascript screeps

我正在试图弄清楚如何在变量中获得具有特定记忆或角色的收割机......我似乎无法弄明白.

我已经尝试过:

module.exports = function(){

    for(var i in Game.creeps){
        if(i.memory == 'Harvester'){
            var Harvesters = Game.creeps[i];

            if(Harvesters.index < 3){
                Game.spawns.Spawn1.createCreep([Game.WORK, Game.CARRY, Game.MOVE],'Harvester'+ Harvesters.length, 'Harvester');
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用......

art*_*tch 8

您可以使用harvester角色从creep创建另一个数组:

var harvesters = [];
for(var i in Game.creeps) {
    if(Game.creeps[i].memory== 'harvester') {
    harvesters.push(Game.creeps[i]);
}

if(harvesters.length < 3){
    Game.spawns.Spawn1.createCreep([Game.WORK, Game.CARRY, Game.MOVE], null, 'Harvester');
}
Run Code Online (Sandbox Code Playgroud)

或者使用lodash:

var harvesters = _.filter(Game.creeps, {memory: 'harvester'});

if(_.size(harvesters) < 3){
    Game.spawns.Spawn1.createCreep([Game.WORK, Game.CARRY, Game.MOVE], null, 'Harvester');
}
Run Code Online (Sandbox Code Playgroud)