Javascript 查找损坏的爬行(或如何调试)

Javascript 查找损坏的爬行(或如何调试),javascript,screeps,Javascript,Screeps,我试着编一个治疗者的程序。 简单任务: 找到损坏的蠕变 治愈受伤的蠕变 如果没有损坏 发现爬行动物,返回家园(硬编码1) 这是我的代码(我也尝试了Game.crews选项,但效果相同): module.exports=函数(蠕变){ var damagedCreeps=screw.room.find(Game.MY_crews,function(chr){return chr.hits0){ 蠕变。移动到(损伤裂缝[0]); 蠕变。愈合(损伤裂缝[0]); }否则{ 爬行。移动到(游戏。繁殖。繁

我试着编一个治疗者的程序。 简单任务:

  • 找到损坏的蠕变
  • 治愈受伤的蠕变
  • 如果没有损坏 发现爬行动物,返回家园(硬编码1)
  • 这是我的代码(我也尝试了Game.crews选项,但效果相同):

    module.exports=函数(蠕变){
    var damagedCreeps=screw.room.find(Game.MY_crews,function(chr){return chr.hits0){
    蠕变。移动到(损伤裂缝[0]);
    蠕变。愈合(损伤裂缝[0]);
    }否则{
    爬行。移动到(游戏。繁殖。繁殖1);
    }
    };
    
    以下是我的作品(按创作顺序):

  • 收割者1(命中率:300,命中率最高:300)
  • 收割者2(命中率:300,命中率最高:300)
  • 守卫1(命中率:190,命中率最高:400)
  • 治疗者1(命中率:400,命中率最高:400)
  • 收割者3(命中率:300,命中率最高:300)
  • 收割者在做他们的事情,守卫在做他的事情,“治疗者1”跟随“收割者1”

    我以为我拼错了hits和hitsMax,没有注意到,但在控制台中我得到:

    > Game.creeps.Harvester1.hits
    < 300
    > Game.creeps.Harvester1.hitsMax
    < 300
    
    >Game.crews.Harvester1.hits
    < 300
    >Game.croves.Harvester1.hitsMax
    < 300
    
    我唯一想到的是'chr'参数包含的不是蠕变对象

    我试过:

  • log(chr),但在游戏控制台中什么也没有出现
  • 'Game.creves.Healer1.memory.a=chr;Game.creves.Healer1.a=chr;'在控制台中输入'Game.crews.Healer1.memory.a'/'Game.crews.Healer1.a',但未定义
  • 在Chrome的js控制台中:var a='Healer1';a、 点击次数
    这是一个游戏错误还是我错过了什么?

    詹姆斯是对的。你可以用电脑找到受伤的士兵

    var wounded = creep.room.find( Game.MY_CREEPS, {
        filter: function(object) {
            return ( object.hits < object.hitsMax );
        } } );
    

    for(变量i=0;i<0.length;++i){
    //对受伤的人做点什么
    }
    
    我对爬行一无所知,但是Room.find的api参考提到第二个参数是一个对象,它可以有一个名为filter的属性,该属性是一个函数。可能尝试
    var damagedCreeps=screw.room.find(Game.MY_crews,{filter:function(chr){return chr.hits我显然误读了文档。谢谢你们两位,这就像一个符咒。保护-如果你的治疗者受伤了,它会被卡在试图治愈自己,所以一定要排除它!
    
    var wounded = creep.room.find( Game.MY_CREEPS, {
        filter: function(object) {
            return ( object.hits < object.hitsMax );
        } } );
    
    if( wounded.length ) {
        // Care for any wounded soldiers
    }
    
    for( var i = 0; i < wounded.length; ++i ) {
        // Do something to wounded[i]
    }