2019年8月3日 星期六

Minecraft 火車站相關系統的設計

小弟玩 Minecraft 一段時間,其實一直想蓋一個大型火車站,然後連續兩次因為伺服器更新所以蓋不完XDD,不過在蓋火車站的期間,還是累積了一些火車站相關系統的設計,蓋不完還是可以介紹一下:
1. 快速向上電扶梯
2. 驗票閘門
3. 平面停開車系統
4. 礦車減速系統

快速向上電扶梯:


快速向上電扶梯其實跟火車站沒什麼關係,但就…火車站常有的東西,這版是用一組向上活塞跟向前活塞交錯推進做成,小心控制紅石信號的延遲就能把人快速的往上推。
當然其實好像沒什麼必要啦…畢竟在 Minecraft 裡面把樓梯又快又不浪費體力,而且電扶梯一堆活塞運作起來其實很吵…。

驗票閘門:

第一版:
第二版:

驗票閘門是腦洞大開做出來的,基本概念是像真的驗票閘門一樣,讓使用者必須投入指定的物品閘門才會開啟,通過之後閘門關上,不小心一口氣就設計了兩個版本:
第一種是投票之後就會開閘門
第二種使用者要從另一個 dropper 裡面取票閘門才會開,更像真實的驗票機

這部分用文字跟圖片說也說不清楚,也許最簡單的還是看影片。

系統的核心如下圖,第二個漏斗裡的東西是裝滿的,這樣使用者只能投入特定的東西(車票);比較器比較投入漏斗跟參考漏斗物品數量是否相同,就能感知<使用者是不是投入車票>這件事,利用這個信號控制漏斗下的另一個漏斗,就能夠控制每次只通過一個物品。

因為我們要求的是投入物品的漏斗,放入物品之後發出的訊號要跟參考值一樣,查一下 wiki,投入物品的漏斗的物品數量要是 22 個,參考漏斗則是 23 個,放入東西之後訊號強度會升到 2,讓比較器打開。

後來就只是基本電路的操作,把物品通過的訊號截出來設定 SR latch,過閘門的踏板重設 SR latch,藉此控制閘門活塞的動作 現在的 SR latch 除了可以用標準的 2x4 雙火把之外,也可以用雙漏斗的 SR latch 設計,如下圖所示,兩者都是 SR latch。

差別在於兩個漏斗的版本,兩個控制信號必須是 1,設定的時候短暫變為 0 來釋放漏斗內的東西;火把設計則是反過來。

平面停開車系統:


這個是很以前設計的東西,因為以前在 Minecart 上是完全不能移動的,所以一定要有一個發車的系統,最一般的就是用凹洞或凸起構成的斜面,加速鐵軌就會朝下加速,不然在平面上加速鐵軌就算有電也不會加速。
這個平面的系統利用活塞,在車子開過去之後把停車位置的背面從鐵軌換成方塊,這樣加速鐵軌就能在平面上讓車子啟動,中間要注意的只有活塞進推的時序問題;不過說起來只是為了改善使用者體驗,不然簡單斜坡就有一樣的效果了。

礦車減速系統:

當初採用減速系統是在火車站的入口,讓使用者能選擇要進站或過站不停。
其實這部是很早以前也是從 Youtube 看到的,但後來完全找不到,幸好當時有先複製一份到測試 server 裡,現在才能蓋出來。
這個系統真的是非常巧妙,利用了比較器來計時,還有將脈衝保持在一個迴圈中來讓鐵軌進到減速模式,整個就是我自己做不出來的設計(yay,所以大家還是看影片吧

目前火車站大概是有這些設計,不過話說回來現在好像也沒什麼時間可以蓋火車站了(yay。

沒有留言:

張貼留言