逻辑操作指南|building 与 content 区分与按键控制
控件涵盖玩家输入以及用于指挥单位和建筑的游戏内逻辑控制系统(Processors 和控制指令)。良好的控制使用能加速微操、自动化
玩家控制(PC 和移动端)
玩家单位
- 移动:PC 上使用 WASD / 方向键;移动端拖动屏幕。
- 交互:PC 左键点击 / 移动端点按 用于开火或放置建筑。
- 采矿:对矿石左键点击(PC)或点按(移动端)进行采矿。
- 控制(Possess):PC 上 Ctrl + 左键点击;移动端点按单位以附身。
- 重生:按重生键返回最近的 core。
- 冲刺:按冲刺键让单位冲刺/加速;移动端向远离单位的方向拖动屏幕以冲刺。
- 货物:使用拾取/放下键拾取与放下货物;移动端长按拾取或放下。
建筑与建造
- 放置建筑:左键点击(PC)或点按(移动端)。
- 删除/取消选择:右键点击(PC)或在移动端使用锤子/删除界面。
- 暂停/恢复建造:使用建造暂停键。
- 区域选择/重建:使用区域选择和重建键以对多个方块与蓝图进行操作。
- 方块配置:许多方块可通过点按/选择进行配置;有些方块在点按时会消费触摸事件并直接打开配置界面。
单位命令与视图
- 使用单位命令键打开单位命令界面。
- 群组选择:Shift + 左键点击以框选一片单位区域。
- 使用各自的热键选择所有单位或所有单位工厂。
- 给多个路点:Shift + 中键(PC)。
- 缩放:鼠标滚轮。
- UI 可见性切换、全屏、菜单和控制台各有专用热键。
- 多人模式:玩家列表和聊天有专用键;滚轮滚动聊天历史。
Logic 概览(游戏内“控制”的含义)
Logic 是由 Processors 执行的游戏内脚本系统。它提供确定性的低级指令,类似汇编:每条指令根据处理器的指令计数器进行评估,处理器按其速度/时钟在每个 tick 循环执行程序。
Processors 能与世界交互:读取传感器、读写内存方块、控制方块状态、打印消息以及有条件跳转。提供可视化编辑和文本编辑模式;可视化编辑器对初学者友好,支持移动端使用和剪贴板导入/导出。
常见指令类别
- 传感器(Sensors):读取方块属性以及像 @enabled 这样的特殊标签(来自 switches 等方块)。示例用法:sensor active switch1 @enabled 将该
开关的启用状态赋值给名为 active 的变量。
- 控制(Control):改变方块状态。示例:control enabled conveyor1 1 ... 将某个 conveyor 设为启用;control enabled conveyor1 0 ... 将其禁用。
- 跳转与比较(Jump and comparisons):条件流程控制。使用 jump
在 a 与 b 的比较符合时跳转。比较列表包含 strictEqual、always 等操作;always 总是返回真并强制跳转。 - 内存读写(Memory read/write):read var = cell at index 从 MemoryCell 或 MemoryBank 中读取数值到变量。MemoryCell 支持索引访问(单元从 0 开始索引)。
- 打印与显示(Print and display):print 将文本存储以便显示;printflush target 将存储的文本打印到
信息板 block 或逻辑显示器。
- getlink/内容访问:Processors 可以检索特定链接的建筑(例如某个 sorter 实例)并将其作为 building content 用于定向控制或读取。
示例模式
-
- sensor active switch1 @enabled
- jump 4 strictEqual active true
- control enabled conveyor1 0 0 0 0
- end
- control enabled conveyor1 1 0 0 0 这段读取开关,根据条件跳转以启用或禁用传送带,并无限循环。
向
信息板 block 写入信息:
- print "Hello world!"
- printflush message1 将 Processor 连接到 信息板 block;print 会存储文本,printflush 将其输出到指定的 message block。
读取内存单元内容: read value = cell1 at 2 这会把 cell1 索引 2 处的数值放入变量 value(索引从 0 开始)。
界面与可用性提示
- 初学时使用可视化编辑器:它显示变量、跳转流程,并且在移动端更容易使用。
- 使用剪贴板导入/导出在桌面与移动端编辑器之间复制脚本。
- 清晰命名已链接的方块(router1、conveyor1、switch1、message1)以使逻辑可读且可复用。
- 记住 processors 按其计数器/时钟每 tick 执行一条指令;在设计循环与跳转时考虑该时序。
方块交互细节
- 有些方块暴露每实例的 “building” 链接(相对于 content/class)。getlink 会检索该已链接的 building 实例,可对其进行检查或控制。
- 方块可能会暴露可配置的点按行为以及是否会消费触摸事件;可配置方块可被点按以打开配置界面。
本文档描述了控制层:玩家输入以及用于编程与自动化单位和方块的 Logic 系统。使用 Processors 读取传感器、操作方块状态、处理消息,并协调复杂的工厂与单位行为。