游戏Screeps - creep.room.find(Game.CONSTRUCTION_SITES);不工作

时间:2014-11-21 18:56:52

标签: javascript screeps

我从教程中得到以下代码,但在模拟模式下它不起作用..

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"常数在工作,如何在房间内找到它们?

先谢谢!

3 个答案:

答案 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