我从教程中得到以下代码,但在模拟模式下它不起作用..
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]);
}
}
}
打印"目标"的结果在控制台中,响应未定义。 任何人都可以解释" CONSTRUCTION_SITES"常数在工作,如何在房间内找到它们?
先谢谢!
答案 0 :(得分:3)
代码看起来对我来说,似乎你实际上没有为构建者构建任何构造。你使用过" Construct"例如,左边的菜单可以建立一条道路吗?
答案 1 :(得分:1)
我不知道这个问题是否已得到解答,或者是否只是游戏中的语法发生了变化,这就是您最初以这种方式编写的原因,但此代码适用于您和#39;正在做:
var targets = creep.room.find(FIND_CONSTRUCTION_SITES);
答案 2 :(得分:0)
在Screeps中console.log()
始终打印未定义。在未定义之前,您可以找到打印值:
> console.log(Game)
[hh:mm:ss] [object Object]
< undefined