# 布线规划

# 布线的现实要求

红石系统的布线问题, 通常是由于红石元件之间的相互影响引发的. 那么, 只要我们给红石系统足够大的空间, 把布线间距拉大, 就能保证相互之间绝对不会影响.

但是, 从空间限制、使用性、人的观感考虑, 大家都希望红石装置的体积足够小. 否则, 一个被操控的机械元件后面拖着大它十倍的控制电路, 不仅感觉奇怪, 而且很难想象, 当红石装置由多个机械组成时, 该如何配合和搭建.

因此, "密集布线"是必然的现实要求.


# 密集布线的难点

"密集布线"之所以容易出错, 是因为: 红石电路不同于现实电路, 但是我们下意识地会套用现实电路的规则, 来布置红石电路.

艺术来源于生活. Minecraft 的红石电路系统, 的确是模仿现实生活的电路系统. 但是, 游戏要兼具"娱乐性"和"启蒙性", 这就要求游戏要足够有趣, 难度不能太高. 因此, Minecraft 的红石电路对现实电路系统的规则进行了简化和修改. 比如说, Minecraft 简化了能源, 让红石系统可以永续拥有能源. 比如 Minecraft 修改了"工作电压", 在红石电路中, 只要有红石信号, 就能激活红石装置, 而不需要关心信号强度的大小. 此外, 游戏需要简化和修改电路规则的同时, 又要保证游戏功能的完备和自洽, 就必须自创一些概念和规则, 比如"充能概念"[^1]

学习红石电路时, 借助现实电路系统能够帮助我们更快理解和入门. 但是我们不能完全照搬现实电路的理解来布线, 而要掌握其特殊性.


# 密集布线的方法

# 红石系统的特性

在布线时, 时刻注意下面这些特性:

  • 注意"红石线"的特性:
    • 红石线不绝缘, 会自动连接, 所以, 当两条红石线路需要并行排列时, 使用"红石中继器"来保证绝缘, 避免自动连接
    • "红石线"没有正负极之分, 不需要做回路
  • 注意"充能"特性:
    • 注意区分强充能和弱充能的影响
    • 利用"黑曜石"不会被充能的特性
  • 注意"压线"特性
    • "非透明方块"和"全体积方块"在交错放置时, 会"压线", 阻断电路
    • "透明方块"和"非全体积方块"即使交错放置, 不会"压线"
  • 注意其他特性
    • 注意"红石火把"
      • 会激活正下方的红石装置, 也会点亮正下方的红石线
      • 会强充能正上方的方块, 从而让其能激活相邻的红石线或者红石装置
    • 注意"红石块"

# 布置策略

除了掌握上面这些特殊点, 我们也可以通过全局性的布线策略来减少可能的错误:

  • 使用特定颜色表达特定功能, 让功能一目了然
    • 比如, 普通红石线的依托使用"黄绿色混凝土方块(Lime Concrete)"
    • 比如, 在不同模块的连接处使用"黄色方块"
  • 尽量将不同部分的电路分隔开, 这也符合工程设计中的"模块化原则" -- 既能降低整个工程的难度, 也方便进行隔离式的排错和修改
  • 复用结构化的模块, 比如我们之前讨论的逻辑门、时钟电路、脉冲电路、BUD (因为这种结构化的模块是被证实有效的, 只要注意好外部隔离, 即使出问题了, 也可以不用考虑这种模块本身是否错误, 只需要考虑其他地方是否出错, 或者只需要检查是否没有做好隔离)
  • 可以考虑"可控性高"的方块, 比如
    • "黑曜石"绝对不会被充能
    • "中继器"可以保证电路单向传输(保证电路绝缘)
    • "拉杆"可以控制能源输出的启闭