问题标签 [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.
javascript - Screeps:在creeps内存中存储对源的引用?
迷人的游戏!
寻找一个如何在cree的记忆中持久引用特定能源的示例。似乎存储实际的源对象不起作用(?)。
javascript - 为什么我的守卫小兵不攻击敌人?
所以我创造了一个守卫小兵;
然后我把这个作为我的主要内容:
然后是守卫脚本
它在教程中运行良好,但现在在实际模拟中,它不起作用。
javascript - 游戏截图 - 快照
我正在玩 Screeps ( http://screeps.com/ ) 模拟室模式。我已经测试了一些东西,我不想失去我的进步。
我可以在模拟房间模式下制作快照并保存我的房间状态,这样我就不必从头开始了吗?
javascript - 是否可以将函数挂钩分配给游戏对象,例如在初始化时运行函数、死亡等?
我还没有找到任何方法将挂钩分配给任何东西,如果可以的话,它会非常有用。另外,如何检查游戏对象是否仍然存在?(即没有死于年龄,也没有被敌人摧毁。)
javascript - Screeps 很少有错误/问题
我有点想用 SO 来指出一些事情。
首先,在这个游戏中使用“脚本”有点奇怪,因为与“普通”Javascript 脚本不同,执行的方式是不同的。我们都知道,在脚本中,第一件事首先被执行。所以如果我有:
你会假设工人 1 会被创建。那不是真的。Healer1 被创建。让人们了解脚本的执行方式会很有用。现在上面的例子很简单,但在我的例子中,我有一堆语句,我花了一段时间才弄明白。
接下来是creep名称。如果小兵死亡,名字应该是“消失”。我确实检查了这一点,并且由于某种原因,该名称“可用”再次使用,但该名称仅在一些滴答声后才可用。不是即时的!所以客户端和“服务器”是有区别的。现在,这显然可以通过多次迭代而不是重用名称来解决。说实话,我更喜欢重用名称。为什么?也许你的脚本会运行多年,这会导致像“worker1209128102981209128”这样的名字,在我的强迫症看来不是“好”。就我而言,我等到错误“名称已在使用中”消失了几个滴答声,然后再创建它。你有点“浪费”时间。
控制台.log(); (empty) ,将导致您的控制台精神崩溃。这种风格会被“窃听”。
接下来的事情:在新游戏中并不总是清除内存状态。也会导致一些奇怪的事情:你自己的记忆中已经有了东西,或者敌人的小兵波已经在第 1 波之后的波上。
我在 API 中没有找到的另一件事;Creeps 首先在他们的第一个模块上获得命中。所以,你很聪明地把 TOUGH 放在第一位,因为它是一个“无用”的模块。其次是其他不太有用的模块。
现在对于游戏模式,敌人的 AI 可能会被窃听。例如,如果你 - 不 - 移动你的小兵,敌人就不会攻击。当你让一个敌人从一波中存活时也是如此,人工智能可能会被“窃听”。不确定它是否正常,但过了一会儿我有以下情况;我无法“相信”如此快速地对抗这么多如此强大的敌人小兵是正常的(已经看身体模块了
最后,我可能想请开发人员做一些我们可以与开发人员交流的东西。即使 stackoverflow 很好,IMO 也更多地用于那些想要在正确的方向上稍微推动的人。
谢谢,我真的很喜欢这个游戏,我希望它会变得更大!:)
screeps - Game Screeps - 使用 lodash 模块
我正在玩 Screeps ( http://screeps.com ),我正在尝试使用 lodash 模块从其余的小兵中过滤我的收割机。下面的代码应该可以工作,但是当我运行它时,我得到一个ReferenceError: _ is not defined at <main>:6:18
. 知道出了什么问题吗?
javascript - Game Screeps - crawl.room.find(Game.CONSTRUCTION_SITES); 不工作
我有教程中的以下代码,除了在模拟模式下它不起作用..
在控制台中打印“目标”的结果,响应未定义。谁能解释“CONSTRUCTION_SITES”常量是如何工作的以及如何在房间内找到它们?
javascript - 如何从扩展结构中获取能量?
在游戏中,每个结构都具有structureType
以下属性之一:spawn
, extension
, road
, constructedWall
, rampart
. http://www.screeps.com/docs/Structure.php#structureType
所以在模拟中我们可以看到扩展结构可能包含一些能量。但是 API Docs 结构没有energy
属性。
javascript - Screeps:将调试输出写入控制台?
为了简单的调试目的,有没有办法让 screeps 代码将字符串打印到控制台(或任何地方)?
javascript - Find Damaged Creeps (or how to debug)
I've tried to program healer creep. Simple task:
- find damaged creep.
- heal damaged creep.
- if no damaged creeps were found, return home (hardcoded Spawn1)
Here is my code (I also tried option with Game.CREEPS but it gave same effect):
Here are my creeps (in order of creation):
- Harvester1 (hits: 300, hitsMax: 300),
- Harvester2 (hits: 300, hitsMax: 300),
- Guard1 (hits: 190, hitsMax: 400),
- Healer1 (hits: 400, hitsMax: 400),
- Harvester3 (hits: 300, hitsMax: 300).
Harvesters are doing their thing, guard is doing his thing and "Healer1" follows "Harvester1".
I thought that I've misspelled hits and hitsMax and failed to notice it but in console I got:
The only thing that comes to my mind is that 'chr' parameter contains something else than creep object.
I tried:
- consol.log(chr) but nothing appeared in in-game Console.
- 'Game.creeps.Healer1.memory.a=chr; Game.creeps.Healer1.a=chr;' and in console typed 'Game.creeps.Healer1.memory.a'/'Game.creeps.Healer1.a' but got undefined.
- In Chrome's js console: var a='Healer1'; a.hits < a.hitsMax;. Got 'false' on the second one.
Is it a game bug or have I missed something?