0

我正在尝试根据我在 main 之前在变量中设置的设定数量限制在 main 中设置自动生成脚本。但是,由于某种原因,脚本执行异常。

脚本:

var roleHarvester = require('role.harvester');
var roleUpgrader = require('role.upgrader');
var roleSpawner = require('role.spawner');
var trashHandler = require('helper.trashHandler');

module.exports.loop = function () {
    //Start by cleaning memory
    trashHandler.run(Memory);

    //Default Number of Creeps
    var max_harvesters = 2;
    var max_upgraders = 3;

    for(var name in Game.creeps) {
        var creep = Game.creeps[name];
    
        if (creep.memory.role == 'harvester'){
            roleHarvester.run(creep);
        } else if (creep.memory.role == 'upgrader'){
            roleUpgrader.run(creep);
        }
    }

    var harvesters = _.filter(Game.creeps,(creep)=>creep.memory.role == 'harvester');
    var upgraders = _.filter(Game.creeps,(creep)=>creep.memory.role == 'upgrader');

    for (var name in Game.spawns){
        var spawner = Game.spawns[name];
    
        console.log(harvesters.length < max_harvesters);
        console.log(max_harvesters);
        console.log(harvesters.length);
    
    
        if (harvesters.length < max_harvesters){
            roleSpawner.spawnHarvester(spawner);
        } else if (upgraders.length < max_upgraders){
            roleSpawner.spawnHarvester(spawner);
        }
    }
}

最后的控制台输出显示它按预期工作,但脚本执行忽略了 if 语句执行为假的事实。

[晚上 8 点 17 分 20 秒]假

[晚上 8 点 17 分 20 秒]2

[晚上 8 点 17 分 20 秒]9

[8:17:20 PM]收割机生成失败:-6

[晚上 8 点 17 分 23 秒]假

[下午 8 点 17 分 23 秒]2

(晚上 8 点 17 分 23 秒)10

4

1 回答 1

2

哦,我的上帝.....刚刚注意到我正在为两者调用 spawnHarvester 函数。哈哈。

于 2016-12-17T03:36:58.737 回答