找到 28 个术语

对象Creep

单位

由代码控制并具有寿命的可移动单位。

Creep 的能力由身体部件决定,可以采集、运输、建造、维修和升级 Controller。

控制第一只 Creep
建筑Spawn

孵化建筑

消耗房间能量创建新 Creep 的核心建筑。

使用 spawnCreep() 创建单位,需要身体部件数组、不会重复的名称和足够能量。

排查 spawnCreep() 返回值
对象Source

能量源

房间中周期性恢复能量的自然资源点。

拥有 WORK 部件的 Creep 可以调用 harvest() 采集 Source。

选择最近可达 Source
对象Controller

房间控制器

决定房间归属和控制等级的特殊对象。

对 Controller 调用 upgradeController() 可以提升控制进度和 RCL。

处理 Controller 降级风险
对象RCL

房间控制等级

Room Controller Level 的缩写。

RCL 决定当前房间可以建造的建筑类型和数量。

查看 ERR_RCL_NOT_ENOUGH
运行GCL

全局控制等级

决定账号最多可同时控制多少房间的等级。

claimController() 受到 GCL 限制;reserveController() 不会把目标房间变成你的正式房间。

比较 reserve 与 claim
建筑Extension

扩展建筑

为 Spawn 提供额外可用能量容量的建筑。

Extension 中的能量会和 Spawn 的能量一起用于创建 Creep。

安全拆除建错的 Extension
建筑Construction Site

建筑工地

建筑完成前的施工目标。

携带能量并拥有 WORK 部件的 Creep 可以调用 build() 建造工地。

查看工地进度
对象Store

存储接口

Creep 和多数建筑保存资源的统一接口。

常用 getFreeCapacity() 判断剩余空间,getUsedCapacity() 判断已使用空间。

使用 Storage Energy
建筑Storage

房间仓库

用于长期集中保存大量资源的房间建筑。

通过 room.storage 访问;对象可能不存在,读取 Store 前应先判空。

判断 Storage 并读写 Energy
建筑Terminal

跨房资源终端

用于跨房间发送资源并参与市场交易的建筑。

send() 会消耗交易 Energy,并受 cooldown、目标房间和容量约束。

跨房发送资源
建筑Lab

实验室

用于矿物反应和强化 Creep 身体部件的建筑。

runReaction() 需要正确配方、相邻输入 Lab、库存、输出容量和 cooldown。

安全执行矿物反应
建筑Factory

工厂

根据 COMMODITIES 配方生产商品的建筑。

produce() 前要检查组件、输出容量、cooldown 和可能需要的 Factory 等级或 Power 效果。

使用 Factory.produce()
建筑Observer

观察者

请求远方房间视野的建筑。

observeRoom() 提交后,要在后续 tick 从 Game.rooms 读取目标房间,不能同 tick 立即判断结果。

理解 Observer 两 tick 时序
建筑Nuker

核弹发射器

向范围内目标房间发射核弹的高风险建筑。

发射不可逆,必须检查目标、范围、cooldown、Energy、Ghodium 和人工确认。

Nuker 发射检查清单
建筑Rampart

防御墙体

可保护己方建筑并控制其他单位是否通行的防御结构。

己方 Creep 可以通过私有 Rampart;setPublic() 会改变其他玩家单位的通行权限。

使用 Rampart.setPublic()
运行cooldown

冷却时间

对象在再次执行某些动作前需要等待的 tick 数。

Link、Terminal、Lab、Factory、Nuker 等对象都有各自的 cooldown 规则,通常应等待并在后续 tick 重新读取。

查看 Link cooldown 示例
运行tick

游戏刻

代码执行一次并推进一次游戏状态的单位。

main.loop 会在每个 tick 重新运行,所以代码需要持续读取状态并重新做决定。

认识 tick 和主循环
运行Memory

持久化内存

在不同 tick 之间保存简单数据的全局对象。

适合保存角色、状态和配置,不应该直接保存 Creep 等游戏对象。

学习 Memory 基础
运行RawMemory Segment

分段内存

用于保存和按需激活较大字符串数据的 RawMemory 区域。

Segment 编号范围为 0 到 99,每 tick 最多请求激活 10 个;激活与读取存在跨 tick 时序。

安全读取和写回 Segment
运行CPU

计算额度

每个 tick 可供代码使用的计算资源。

代码规模扩大后需要关注 limit、bucket 和 Game.cpu.getUsed()。

监控 CPU 与 bucket
对象Room

房间

Screeps 世界地图中的基本区域。

房间包含 Source、建筑、Controller、工地和活动单位。

运行房间诊断
对象RoomPosition

房间坐标

表示房间中 x、y 位置的对象。

移动、范围判断和目标选择通常都依赖 RoomPosition。

比较距离判断方法
运行CostMatrix

路径成本矩阵

为 PathFinder 指定每个房间格子的移动成本。

0 表示使用默认地形成本,1 到 254 表示自定义成本,255 表示不可通行。

配置 PathFinder CostMatrix
约定Role

角色

玩家为 Creep 工作职责起的名称。

Harvester、Upgrader 和 Builder 都是玩家约定,不是游戏内置职业。

认识角色分工
对象Body Part

身体部件

决定 Creep 能力和移动效率的组成部分。

不同部件具有不同 Energy 成本;总数不能超过 50。

使用身体方案预设