草庐IT

javascript - 如何在 Screeps 对象中实现继承?

我已经研究Screeps一段时间了,昨晚我决定通过从Creep主类派生两个类Miner和Transporter,将我的一些行为纳入类层次结构。但是,每当我做console.log(_.functions(minerInstance));我得到的函数列表和我做的时候完全一样console.log(_.functions(transporterInstance));有人可以告诉我我是否做错了什么,或者我是否真的遇到了我的代码运行环境的限制?这是我的代码://////////////////////////////Creep.jsvarCreep=function(creep,room){t

javascript - Screeps - 在哪里可以找到游戏对象的常量?

我在哪里可以找到Game对象的常量列表,例如Game.HOSTILE_CREEPS、Game.MOVE和Game.攻击?我在http://screeps.com/docs/上找不到它 最佳答案 可以在thegamedocs找到它们(页面底部)常量结果代码Game.OK0Game.ERR_NOT_OWNER-1Game.ERR_NO_PATH-2Game.ERR_NAME_EXISTS-3Game.ERR_BUSY-4Game.ERR_NOT_FOUND-5Game.ERR_NOT_ENOUGH_ENERGY-6Game.ERR_IN

javascript - 如何在 Screeps 中生成一个带有前面名称标签的随机名称?

在编程游戏Screeps中,我使用以下方法生成creep:if(transporters.length2){varnewName=Game.spawns['SpawnZone'].createCreep([WORK,CARRY,MOVE],undefined,{role:'transporter'});console.log('SpawningnewTransporter:'+newName);}'undefined'标签是用随机名称生成creep。现在我想知道,因为我有不同类型的小兵,是否可以在它前面添加Angular色标签?例如,[Transporter]RandomName。这可

javascript - Screeps:将调试输出写入控制台?

有没有办法让screeps代码将字符串打印到控制台(或任何地方)以进行简单调试? 最佳答案 您可以为此使用标准的console.log方法。 关于javascript-Screeps:将调试输出写入控制台?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/27070203/

javascript - Screeps 获得所有具有特定内存( Angular 色)的 creeps

我正在尝试弄清楚如何让每个creep具有特定的内存或Angular色,例如变量中的收割机......我似乎无法弄清楚。我已经试过了:module.exports=function(){for(variinGame.creeps){if(i.memory=='Harvester'){varHarvesters=Game.creeps[i];if(Harvesters.index但这显然行不通... 最佳答案 您可以使用harvesterAngular色从creeps创建另一个数组:varharvesters=[];for(variin

javascript - 在Screeps中,是否以允许写入CPU极限健壮代码的方式实现CPU极限?

在Screeps中,每个玩家对CPU的使用都受到限制,但是documentationforthisfeature并没有使执行此方法的方式足够清晰,无法编写CPU限制健壮的代码。我考虑了以下四种可能性:1.玩家的循环永远不会中断。在一种极端情况下,玩家的内存反序列化,主脚本执行和内存重新序列化永远不会中断,并且超过CPU限制仅意味着玩家的周期将在随后的滴答声中跳过,直到偿还CPU债务为止。在这种情况下,CPU限制健壮的代码并不是绝对必要的,但它对于检测何时跳过播放器的周期并可能更有效地开始工作仍然很有用。可以使用以下代码轻松实现:module.exports.loop=function(

javascript - findNearest, findInRange - 如何在 Screeps 中使用?

我尝试像那样使用findNearest:varsources=creep.room.findNearest(Game.SOURCES)creep.moveTo(sources[0]);creep.harvest(sources[0]);这就是我得到的:TypeError:undefinedisnotafunctionatmodule.exports:5:28at:11:6如何使用此方法和findInRange才不会导致此错误? 最佳答案 这里有几点需要注意:findNearest()不在房间对象中。简单修复varsources=cr

javascript - 我如何在 Screeps 中攻击敌人

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion播放时screeps我不知道如何攻击敌人。这是我尝试过的。我创建了我的攻击者creep:Game.spawns.Spawn1.createCreep(['attack','move'],'Attacker1');然后当第一个敌人出现在屏幕上时,我尝试运行这个命令但失败了。Game.creeps.Attacker1.attack("Player3");敌人的正确语法是什么?编辑:添加用于访问游戏中对

javascript - Screeps:计算 body 的构建成本

玩游戏的时候screeps.com我想计算build所需车身的成本。请参阅下面的尝试,其中cfg.body是bodypart数组,例如[Game.ATTACK,Game.MOVE,Game.WORK,Game.CARRY,Game.MOVE]:varbuildCost=0;for(varbodypartincfg.body){switch(bodypart){case"MOVE":case"CARRY":buildCost+=50;break;case"WORK":buildCost+=20;break;case"HEAL":buildCost+=200;break;case"TOUG

javascript - 如何在 Screeps 中创建新结构

所以,这是一个关于游戏的问题screeps.我知道在模拟中,我可以通过转到左侧的Construct菜单来创建一条道路,但是是否有API引用可用于以编程方式创建一条道路?我的目标是有一个脚本可以自动在目标A和目标B之间放置建筑工地。有人在文档中找到这样的引用吗?(我会用screeps标签来标记这个问题,但以我目前的声誉看来我不能这样做。如果这是错误的发帖地点,请指引我到正确的地方,我刚从screeps来到这里网站) 最佳答案 更新一个方法Room.createConstructionSite今天已添加到API(changelog)。示
12