缺氧实现严格依序的过程循环方法图文攻略


缺氧实现严格依序的过程循环方法图文攻略

文章插图
缺氧怎么实现严格依序的过程循环?大家有尝试过吗?有玩家用门电路实现了这个循环过程,这里给大家带来了“sunny白水004”分享的缺氧实现严格依序的过程循环方法图文攻略,感兴趣的小伙伴们一起看下这位玩家的具体过程吧 。
实现严格依序的过程循环方法图文攻略
先说一下事情的缘起,在建造污水处理厂时发现,污水池里繁殖了大量细菌,即使经过净化器处理也无法去除 。开始我以为带菌净水只要不喝,拿来电解制氧就没事,没想到这神奇的外太空细菌连电解都杀不死啊,随着氧气在基地里到处飘,实在不能忍 。后来发现用液体加热器把水加热到75度以上就可以灭菌,于是设计了这样的系统:
缺氧实现严格依序的过程循环方法图文攻略

文章插图
左边是带菌水,经过中间的加热池加热到75度以上,然后排到右边的公共净水池 。在实际做的时候发现,如果只是简单的用温度和水压来控制泵和加热器的话,很容易乱套 。比如热好的净水还没排净,新的带菌水又进来把净水污染了;或者净水正排到一半温度突然低了,加热器又重新开始加热等等 。所以我希望设计这样一套电路,能够让放水→加热→排水这3个过程严格依照顺序运行,并不断循环 。推而广之,对于任意多个需要按顺序运行的过程,都能做到只有过程n运行完毕,过程n+1才能够开始,而其他所有过程则保持待机 。如下图所示:
缺氧实现严格依序的过程循环方法图文攻略

文章插图
这里的终止条件从各类传感器传来,用于控制过程的终止 。可以发现,这里传递给下一过程的运行信号必须为脉冲信号,如果是持续信号的话,过程n+1则不能正常终止 。既然是脉冲信号,那么需要电路具备“自持”的能力,来把运行信号保持住 。
基于以上思路,在反复实验和简化后,我找到了一种相对满意的设计方案,如下图:
缺氧实现严格依序的过程循环方法图文攻略

文章插图
电路大佬可能看到这里就明白了,下面给对电路不太熟的人再解释一下 。这个游戏内电路的运作机制是,每0.1秒作为一个tick,一个门电路在当前tick的输出值,取决于上一个tick的输入值 。其实电路值每一个tick都在刷新,所谓的“连续信号”只是连续很多tick的值都相同而已 。以最简单的非门来举例:
缺氧实现严格依序的过程循环方法图文攻略

文章插图
开始时输入0,输出1 。在tick2输入变化为1,而此时非门的输出取决于tick1的输入,所以仍然为1,直到tick3才根据tick2的输入变成0 。如果之后每个tick的输入都相同,那么输出也一直不变,看起来就像是输出连续的信号0一样 。

下面我们来细致分析一下这个电路的工作过程:
缺氧实现严格依序的过程循环方法图文攻略

文章插图
Tick1,设备在等待运行信号,没有工作 。
Tick2,前一个过程结束后传来了运行信号,设备开始工作 。
Tick3,外来运行信号消失,但由于上面与门的输出连回了输入,可以把这个信号自我保持下去 。
然后一直工作到Tick90都没有发生变化 。
Tick91,由传感器传来的终止条件满足了,但是与门的输出还要多等一个tick再改变 。
Tick92,下方与门输出变为1,向下一个过程输出了运行信号 。
Tick93,上方与门输出变为0,设备停止工作 。
Tcik94,下方与门停止输出,最终成功输出了2个tick的运行信号脉冲给下一个过程 。
【缺氧实现严格依序的过程循环方法图文攻略】通过分析可见,这个设计完全实现了之前的构思,严格按照顺序运行每个过程并可不断循环 。

最后把游戏里的具体实现图贴一下 。
缺氧实现严格依序的过程循环方法图文攻略

文章插图

缺氧实现严格依序的过程循环方法图文攻略

文章插图
需要注意的是,电路刚开始建成的时候不存在运行信号,所以在左下角加了一个手动开关,开一下再关掉,整个电路就可以正常运行了 。
后来我还用这套设计建了个天然气加热系统,把所有的天然气加热到120度再烧掉,从中可以赚一些负热量 。
缺氧实现严格依序的过程循环方法图文攻略

文章插图
结合游戏内的实际运行图会容易懂些,我们先来看第一个过程“送水”工作时的运行图:

推荐阅读