screeps:条件不起作用 - 无能为力

时间:2014-11-25 22:10:57

标签: javascript screeps

所以我一直在尝试这个以自动生成Creeps的百分比来计算总生命值。 然而,当我运行它时,它只是继续产卵收割机,完全忽略条件,即使console.log返回预期的结果。

现在我对出了什么问题一无所知

//creepManager.creations() == counts total creeps and spawns creeps in function of total
    var spawnCreep = require('spawnCreep');
    var counter = require('counter');
    exports.creations=function(){

    if(  counter.guardCount()/counter.totalCount()<0.5 && counter.harvesterCount()>1){

        spawnCreep.guard();

    } else if (counter.harvesterCount()/counter.totalCount()<0.3){

        spawnCreep.harvester();

    } else if(counter.builderCount()/counter.totalCount()<0.2){

        spawnCreep.builder();
    } else {
        spawnCreep.guard(); //default
    }
};  // 5guards, 3harvesters, 2 builder per 10CREEPS`

(spawnCreep是另一个跟踪爬虫如何构建的模块)

1 个答案:

答案 0 :(得分:0)

我在旧代码中做了类似的事情:

function allocateResources() {
    var counts = {guard : 0, healer : 0}
    for (var name in Game.creeps) { 
        if (name.indexOf("guard") > -1) {
            counts["guard"]++;
        } else if (name.indexOf("builder") > -1) {
            counts["builder"]++;
        }
        // ...
        counts["total"]++;
    }

    if (counts["guard"] / (counts["total"] + 1) < 0.51) {
       spawnCreep("guard"); 
    } else if (counts["builder"] / (counts["total"] + 1) < 0.34) {
       spawnCreep("builder");
    } 
    // ...
}

你应该确保你避免被零除,也许这就是你的错误。