问题标签 [screeps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
700 浏览

arrays - screeps.com:简单脚本不起作用,二维数组出现问题

我从控制台收到以下错误:“TypeError:无法读取未定义的属性'0'”,它与数组有关,但我找不到错误。

0 投票
1 回答
484 浏览

github - 为什么 screeps.com 在通过 github 登录期间需要访问公共和私人仓库中的代码?

Screeps.com 允许使用 github 帐户登录,但它要求的权限似乎太高:对公共和私人 repos(代码、问题、拉取请求等)的完全访问权限。它的目的是什么?是否可以使用 github 帐户登录但不允许访问私人仓库?谢谢!

0 投票
2 回答
779 浏览

javascript - 您如何使用 transferEnergy(creep) 来定位房间控制器

正是标题所说的。我尝试了很多不同的方法,但是“creep.transferEnergy(Game.controller);” 是唯一没有返回错误的。

0 投票
2 回答
1789 浏览

screeps - Creep.moveTo() 是非阻塞方法吗?

上面的代码应该发送一个cree来升级控制器。当它没有能量时,它应该去产卵区并得到一些。但它没有移动到 spawn 处,而是停留在控制器处。

问题:取消哪个命令creep.moveTo(Game.spawns.Spawn1);

我是否必须使用creeMemory并添加一种状态isMoving: true并跟踪它?

0 投票
2 回答
1654 浏览

screeps - 如何列出我的墙 [Screeps]

当我使用 建造新墙Creep.build()时,它会创建具有 1 个生命值的墙。现在我正在尝试创建一个可修复这些新建墙壁的蠕变。但我无法找到一种列出和迭代这些墙对象的好方法。

Game.structures不包含这些,因为墙不属于玩家。我能找到的唯一方法Game.getObjectById(objectId)是从我的游戏 ui(右面板)复制粘贴 id 的位置。

0 投票
1 回答
317 浏览

javascript - Screeps 内置函数不返回预期类型

在游戏Screeps中,我遇到了一些内置函数的返回类型的问题。采取以下代码:

你会期望这些都是数组,所以都是Array. 然而,在世界游戏中,我得到以下结果(myRoomName设置为我可以访问的房间的名称):

但是等等,它变得更奇怪了。当我在模拟中运行相同的代码时(这次myRoomName'sim'),我得到以下结果:

为什么不是所有这些函数都返回 的实例ArrayArray世界环境中怎么会有不同的版本?有没有办法将结果转换为实例Array

0 投票
3 回答
3825 浏览

javascript - 寻找能量最高的结构

所以我有一个叫做蠕变的角色storer,它应该从容器中获取能量并将其带到存储中。然而,目前,它会找到最接近 Path 且能量水平大于某个阈值的容器,因此它不会在矿工每次重新填充容器时在那里等待数小时。

我遇到的问题是,如果我降低阈值,storer它将在同一个容器中来回运行,忽略房间内更远的任何容器并让它们填满。
而提高门槛会让他坐在那里等太久,没有给他足够的时间来清空容器,因此储藏室几乎一直都是空的。

我需要一种方法让蠕变确定具有最高能量的容器并从那里填充。

这是它运行的代码:

编辑:这是我尝试过的代码,但我觉得它使用了太多的 CPU 能力并且可以以更好的方式完成:

0 投票
1 回答
200 浏览

screeps - 嵌套过滤器不起作用

上面的代码返回 0 个建筑工地(应该通过测试的 40 个),但每个建筑工地都通过了(外部)过滤器。

我还测试了内部过滤器(使用.length == 0):

有什么我遗漏的或者我做错了什么吗?

0 投票
2 回答
513 浏览

javascript - screeps - 不能在源代码中进行变量

我是 Screeps 的新手(喜欢它),我很难为房间里的所有来源创建一个变量。我试图确保只有 3 个小兵在同一个源上工作,所以我为我的收割机和我的主模块提供了以下代码片段

主要的

收割机

我知道我仍然必须创建一个功能sources[s].memory.numPeopleAtt--

提前致谢,

贾里·范·梅尔克贝克

0 投票
2 回答
347 浏览

screeps - 如何按名称搜索结构?

我刚开始并试图按名称搜索结构。我一直在查看API,但没有运气。我似乎无法在任何结构对象上找到 name 属性,所以我不能只遍历它们并找到我想要的那个。

如何按名称搜索结构?某处是否有可访问的名称属性?