Javascript 为什么我的守卫不攻击敌人?

Javascript 为什么我的守卫不攻击敌人?,javascript,screeps,Javascript,Screeps,因此,我创造了一个守卫爬行 Game.spawns.Spawn1.createCreep([Game.ATTACK, Game.ATTACK, Game.TOUGH, Game.TOUGH, Game.MOVE], "guard1", {role:"guard"}); 然后我把这个作为我的主要目标: var harvester = require('harvester'); var guard = require('guard'); for(var nam in Game.creeps) {

因此,我创造了一个守卫爬行

Game.spawns.Spawn1.createCreep([Game.ATTACK, Game.ATTACK, Game.TOUGH, Game.TOUGH, Game.MOVE], "guard1", {role:"guard"});
然后我把这个作为我的主要目标:

var harvester = require('harvester');
var guard = require('guard');

for(var nam in Game.creeps) {
    var creep = Game.creeps[nam];

    if(creep.memory.role == 'guard') {
        guard(creep);
    }

    if(creep.memory.role == 'harvester') {
        harvester(creep);
    }

    if(creep.memory.role == 'builder') {

        if(creep.energy === 0) {
            creep.moveTo(Game.spawns.Spawn1);
            Game.spawns.Spawn1.transferEnergy(creep);
        }
        else {
            var targets = creep.room.find(Game.CONSTRUCTION_SITES);
            if(targets.length) {
                creep.moveTo(targets[0]);
                creep.build(targets[0]);
            }
        }
    }
}
然后是守卫脚本

module.exports = function (creep) {

    var targets = creep.room.find(Game.HOSTILE_CREEPS);
        if(targets.length) {
            creep.moveTo(targets[0]);
            creep.attack(targets[0]);
        }else{
            creep.moveTo(Game.spawns.Spawn1);
        }
}

它在教程中运行良好,但现在在实际模拟中,它不起作用。

我测试了您的脚本,它们在生存模式下实际上运行良好。具体问题是什么?你检查过CPU时间是否用完了吗?

我想实际的问题是,我打开了3个运行尖叫的窗口,这只是让一切都变慢了。