4x4高压无痕内吸门(16x16x6=1536blocks)

视频来自:优酷

视频镇楼。

楼主 Eater_X  发布于 2015-01-06 19:36:00 +0800 CST  

这里给一张正面的图。
过会儿我会分析一下它的主要结构和时序。

楼主 Eater_X  发布于 2015-01-06 19:37:00 +0800 CST  
首先在这里感谢peterjiangTW提供的结构。主要的时序部分还是由我完成的。


这是下吸部分,利用了一种时序非常少的结构,下面会给大家讲解一下下吸的时序。

楼主 Eater_X  发布于 2015-01-06 19:41:00 +0800 CST  

首先你们要知道下吸部分是有bud的,给一个方块更新,底下那排活塞就会推出。

然后同时激活上下2个输入端,上方中继器延时为3tick,下方为1tick,下方再算上2个红石火把,总共3tick,这样就保证了上下相同的延时,就能做到关门。

开门收第一排方块时,上方输入端需要有2tick的外加的延迟,那么就加上这2tick的延迟。

就像这样,完成了第一排方块的收回。接下来的第二排方块收回的输入端就都在底下了。




这里总共给了下方输入端2次脉冲,就能完成第二排方块收回。这样下吸部分的时序都讲完了。

楼主 Eater_X  发布于 2015-01-06 19:46:00 +0800 CST  

接下来是侧吸,如图。至于为什么红石线的那个输入端不往右移一格,我不告诉你们owo,好吧这个现在先不说,这个之后和活塞轮部分有关的。如果向右挪一格,就会跟活塞轮有冲突。

楼主 Eater_X  发布于 2015-01-06 19:51:00 +0800 CST  

首先关门部分的时序。如图,红石线输入端出造成一次短脉冲。

下方输入端也造成一次短脉冲。

这里的时序稍微有点复杂,脑补不过来的朋友建议亲自照着做一个,那样更利于理解。另外这里的布线用掉的空间有些多,只是为了让大家更容易理解。

按下按钮后,会变成图上这样。

最后再红石线输入端处造成一次短脉冲。

楼主 Eater_X  发布于 2015-01-06 20:02:00 +0800 CST  
那么问题来了。“说好的关门呢!怎么没正常关门!”


实际上是这样的。由于上吸部分会利用上吸活塞的bud来激活这些被关门时推出的活塞,那么当这些活塞被激活时,他们也就不会被推过头或被再次收回了。


那么问题又来了。“时序可以更简单,问什么要复杂化呢?”


这个问题也很好理解,大家可以脑补一下开门的时序,你们会发现和之前讲的关门的时序一模一样,是的,一模一样!那么也就是说,只要做到开关门分别激活一次这条时序,那么就能实现完整的侧吸了。没错,但之后在上吸部分会为了配合侧吸而做一些小小的修饰。

楼主 Eater_X  发布于 2015-01-06 20:06:00 +0800 CST  
既然已经解释清楚关门时序复杂化的原因了,那我就不再讲解侧吸部分开门的时序了,相信大家能够理解。

楼主 Eater_X  发布于 2015-01-06 20:08:00 +0800 CST  


这是上吸部分的结构。
可能又有人要问了。“明明可以利用像经典2x2内吸那样把他90°翻转后的上吸结构,为什么要用这种更复杂的结构呢?”
这个之前已经说过了,上方需要有一个激活侧吸部分关门推出来的活塞的输入端,没错,就是活塞之间的那条红石线。

楼主 Eater_X  发布于 2015-01-06 20:12:00 +0800 CST  
接下来演示上吸部分开关门的时序。






在关门的时序中有利用到一个活塞被斜角度激活的特性,除了这个地方,其他地方大家应该都可以理解。

楼主 Eater_X  发布于 2015-01-06 20:15:00 +0800 CST  
上吸部分的时序没有什么难度,我就不讲了。如果有不懂的可以去1楼视频下存档参考。

楼主 Eater_X  发布于 2015-01-06 20:17:00 +0800 CST  


右边复制了一个和左边一模一样的侧吸结构,这样这个门的内吸部分的结构就都在图中了。

楼主 Eater_X  发布于 2015-01-06 20:20:00 +0800 CST  
接下来讲的是这个门的无痕处理部分。(其实我在这个门的无痕处理部分上花了至少70%的时间...)←这句话无视,只是为了强调无痕处理部分的重要性。(话说这个门没有无痕处理还称得上是无痕内吸门么...)←废话有点多233

楼主 Eater_X  发布于 2015-01-06 20:23:00 +0800 CST  




为了方便制作和讲解,我暂时先把线路都打掉。

楼主 Eater_X  发布于 2015-01-06 20:25:00 +0800 CST  

首先是最简单的一个无痕处理,如图,上方2个活塞各推一下,就实现了当前的无痕处理。关门时又需要有痕处理,那也十分简单,下面另外放2个活塞,关门前各推一下就行了。

楼主 Eater_X  发布于 2015-01-06 20:27:00 +0800 CST  

如图,这是第二个无痕处理。(第一个无痕处理挡住了第二个无痕处理,为了方便讲解我先把第一个无痕处理打掉了。)但为什么要把活塞轮摆的那么高呢?原因也很容易理解,如下图。

可以看见这个输入端已经无法从侧边通过给活塞轮的方块充能来激活,因为会跟侧吸部分有冲突,于是就要把活塞轮抬高,用下图的方案。

就像这样,就可以实现顶部正常开关门了。

楼主 Eater_X  发布于 2015-01-06 20:33:00 +0800 CST  


第三个无痕处理。(这里也是由于第二个无痕处理挡住了第三个无痕处理,就把第二个无痕处理打掉了。)这个无痕处理用到了2处放置活塞的位置,也利用了地板的空间。至于为什么用2处活塞放置的位置,之后讲活塞轮周期最小公倍数会讲到。

楼主 Eater_X  发布于 2015-01-06 20:38:00 +0800 CST  
25楼讲的第二个无痕处理,周期是28,也就是活塞轮驱动28下就是一个循环。
26楼讲的第三个无痕处理,周期是12,也就是活塞轮驱动12下就是一个循环。但这个活塞轮总共有24排方块,为什么周期是12?原因很简单,由于它本身用到了2处活塞放置处,且之间的间隔方块列数相同,于是就可以把周期从原本的24降到12也就是除以2。


那么问题来了,如何做到每个活塞轮运转的次数相同从而实现第一次输入,输出有痕处理,第二次输入,输出无痕处理,且可以反复使用呢?那么就要用到一个初中学到的知识,最小公倍数。


但是还有非常重要的一点。以第三个无痕处理为例,周期是12,其实这个无痕处理的输出周期为6,已经可以实现开关门有痕和无痕处理,那么为了方便计算,我们就记下这个数字,6。同理,第二个无痕处理,周期是28,那么记下数字14。


为什么要记下这一系列的数字呢?就是为了方便计算整体无痕处理活塞轮周期。我们再以第三个无痕处理为例,当它运转6次,可以实现开关门有痕和无痕处理。那么如果让他运转6*奇数次呢?这样显然也是可以的。同样第二个无痕处理也可以让他运转14*奇数次。那么,我们只需要找一个特殊的最小公倍数。


从6和14中找一个最小公倍数,要保证最小公倍数分别除以6和14得到的结果为奇数。那么我们可以用死算(反正我是这么算出来的233)得到42,那么42就是这个门的无痕处理的整体活塞轮周期了!

楼主 Eater_X  发布于 2015-01-06 20:48:00 +0800 CST  
这里给出一种活塞轮计时器的方案。


在漏斗中根据自己的延时需求放上物品。按下按钮就可以开始计时,计时状态下就是活塞轮运转的时候。

楼主 Eater_X  发布于 2015-01-06 20:54:00 +0800 CST  
然后我们就要模拟开关门了。

假设这里拉下拉杆就是关门,那么拉下拉杆必定要做的就是先驱动活塞轮进行有痕处理。


为了让活塞轮运行完后开始关门,需要填上一个非常简单的漏斗计时器。(这里忘记放拉杆了)假设金块这个位置是关门的时序,当活塞轮驱动完后,右侧的漏斗里的物品都已经到左边的漏斗了,红石火把就会亮起,就进行了关门的时序。

当拉上拉杆后,左侧的漏斗的物品马上到了右侧的漏斗,就可以进行开门的时序。当开门的时序走完后,会另外连一条线路用于驱动活塞轮,进行无痕处理,如上图。

楼主 Eater_X  发布于 2015-01-06 21:04:00 +0800 CST  

楼主:Eater_X

字数:2572

发表时间:2015-01-07 03:36:00 +0800 CST

更新时间:2016-03-15 11:39:47 +0800 CST

评论数:107条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看