我的世界电路是什么?

澹台惠曦澹台惠曦最佳答案最佳答案

MC中是没有电这个概念的,所以“电路”这个词在我的世界中并没有准确的定义。所以题主所谓的“我的世界的电路到底是什么”这个问题是无法真正回答的(如果不考虑“由电源产生电流”这种物理上的电路的话)。 那为什么我们要研究“我的世界的电路”呢?难道仅仅是因为它们长得像吗?(大误!).......实际上,我们研究“我的世界的电路”是为了让这些所谓的“电路”实现其作为道具应有的能力。比如,开关的作用是控制用电器(灯具、熔岩池等)的通断;红石粉和红石火把能够提供能量(驱动机器);黑曜石块能够在无光源的情况下点亮灯具;命令方块可以通过输入/give @p redstone block来给予玩家一个能发光的二极管等等。总之就是让游戏更真实,让玩家有更好的体验。 那么,既然我们能够赋予它新的作用,那么我们为何不直接赋予它一个新的属性呢——即所谓的“通电”“断路”。虽然这样的做法有点违背现实,但毕竟我们讨论的是一个游戏(或者说是现实?)的模拟,这样似乎也说得过去吧。

如果我们可以通过添加代码的方式来为红石添加新的特性,那么我们就能完成对于它的大部分使用了。但是,我们不能这样做。因为这样添加的特性会存在于游戏的各个地方,我们无法确定它会带来什么影响。一种最坏的情况可能是,该特性会对游戏造成不可挽回的损失。就像是我们使用斧子砍树时,如果由于某个BUG使得树木瞬间变成了石头,那我们之前的工作就全部白费了。为了避免出现这种情况,我们只能仔细地检查每一处的代码,确保不会造成伤害性代码的出现。而这种方法显然是不现实的。于是我们就需要另一种方法。

如果我们无法修改已存在的代码,那么我们是否能让新代码在不破坏旧代码的前提下生效呢?答案是肯定的,也就是我们常说的“让新代码在旧代码的树中寄生生长”。这是一种比较优雅的处理方式。例如,我们在判断一条通路能否形成电流时,可以不修改已有通道的代码,只要在入口加入条件判断即可。 另外,有时候我们需要让红石元件具备存储功能,此时我们就可以利用变量来储存数据,然后再根据变量来输出结果。不过需要注意的是,红石系统是一个单向传递的信息系统,也就是说,当一个红石元组件被加载完成后,它所承载的数据就不能再被改变了(否则就会出现各种bug)。这类似于计算机中的流水线原理,每一条生产线只负责信息的一维流动,而不负责信息的更改。

我来回答
请发表正能量的言论,文明评论!