首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游戏爬虫- creep.room.find(Game.CONSTRUCTION_SITES);不工作

游戏爬虫- creep.room.find(Game.CONSTRUCTION_SITES);不工作
EN

Stack Overflow用户
提问于 2014-11-21 18:56:51
回答 3查看 4.5K关注 0票数 4

我有教程中的以下代码,除了在模拟模式下它不起作用。

代码语言:javascript
复制
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“常量是如何工作的,以及如何在房间里找到它们吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-21 19:01:08

在我看来,代码看起来是对的,似乎您实际上没有为构建人员设置任何构造。例如,你是否使用左边的“构造”菜单来建造道路?

票数 4
EN

Stack Overflow用户

发布于 2015-09-16 06:57:13

我不知道这是否已经得到了回答,或者只是游戏中的语法发生了变化--这就是您最初以这种方式编写它的原因,但是这段代码适用于您正在做的事情:

代码语言:javascript
复制
var targets = creep.room.find(FIND_CONSTRUCTION_SITES);
票数 2
EN

Stack Overflow用户

发布于 2014-11-22 00:18:29

在Screeps中,console.log()总是打印未定义的。在未定义之前,您可以找到打印值:

代码语言:javascript
复制
> console.log(Game)
[hh:mm:ss] [object Object]
< undefined
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27068361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档