1.紅石電路的物質基礎

搞稍微大一些的紅石電路,用量最大是通常是紅石粉,除了放在地上用作導線外還用于合成其他的紅石電路元件。

紅石粉可以通過開采紅石礦石來獲得,該礦石會出現在y軸坐標21以下,需要鐵鎬挖掘。

某些地方也會自然生成紅石,比如叢林神殿和地牢的獎勵箱子。

當然還有一些其他的物質基礎后面會講到。


2.基礎概念:紅石電路的狀態和計時

1)方塊和紅石線的狀態

方塊狀態可分為無充能,弱充能和強充能。

未充能時方塊不和紅石之間作用;

弱充能可以使機械工作,比如鐵門打開,活塞伸出;

強充能不僅可以起到弱充能的所有作用,還可以激活附近的紅石線。

那怎樣達到這些情況呢?

為達到弱充能,需要用通電的紅石線對著一個方塊,那么它就弱充能。

達到強充能方法較多,后面會講到。


紅石線也分為充能和未充能兩種狀態:

紅石粉右鍵地面即可放置紅石線,沒有接入電路時,紅石線呈暗紅色,即為未充能

緊貼強充能方塊的紅石線擁有15的信號強度,此時為最亮的紅色;

從它開始,每延伸1根紅石線強度減1,顏色變暗贝博app手机版,減到0時又變為未充能。

紅石會和相鄰的高度相差不大于1格的紅石自動連接。

總結:信號強度的概念

上文已經提到紅石線傳遞信號時,隨著距離的延伸信號變小的情況。

其實,強充能、弱充能和無充能三種狀態,指的就是紅石信號強度的取值范圍

強充能--->信號強度為1~15,能使得貼靠的紅石線充能且信號強度也為15;

(比較器強充能后能量為比較器輸出能量)

弱充能--->信號強度為1~15,除了紅石線能使與其相連的紅石線和門、、等方塊獲得能量外,一個弱充能的方塊似乎并不能做什么;

(比較器輸出能量為方塊獲得的信號強度)

無充能--->信號強度為0,什么也不能做。

2)紅石電路的時間單位

Minecraft游戲中的時間不是連續變化的,而是以一個一個極短的時間段的形式,“跳躍”變化的。每經過一個這樣的時間段,游戲進行一次狀態更新,例如和在嘗試長大。我們把這個極短的時間稱為“游戲刻”。

如果你的游戲運行非常流暢,完全沒有延遲的情況下贝博app手机版,1游戲刻等于現實生活時間的0.05秒,也即20游戲刻=1秒。

而對于紅石電路,紅石電路隨著時間進行的狀態改變也不是連續發生的,而同樣是在極短的時間段中發生的。我們把紅石電路每次改變狀態的這個極短時間段稱為紅石刻。紅石刻的長度依賴于游戲刻,1紅石刻=2游戲刻,也即在完全不延遲的狀態下,1紅石刻等于現實生活時間的0.1秒,即10紅石刻=1秒。

通常將游戲刻和紅石刻統稱為(英語Tick,復數形式Ticks)

在專門介紹紅石電路的文章,例如本文中,當提到“刻”或Tick的時候,常常特指紅石刻

為了避免混淆,特此說明。


3.基礎概念:產生紅石信號,和利用紅石信號控制方塊的方式

1)發生器

我們可以把產生紅石信號的方塊叫成“發生器”。

發生器本質上是一個在某些條件下能讓自己的六個面強充能的方塊

例如:

或者某幾個面強充能的方塊

例如:和在其貼靠的面上是強充能;

上表面有個箭頭,在這個箭頭所指的面上強充能。

(這里指的是原版MC的紅石中繼器。另有模組的,功能相似但更加強大,為了簡單起見以下僅介紹紅石中繼器并簡稱中繼器,為避免引起混淆,特此說明。)


發生器有許多種。任何一個完整的非透明方塊被強充能時是一個發生器,不被強充能時則不是發生器。除了這種情況,有一些方塊專門作為紅石電路中的發生器,稍微接觸紅石電路的玩家都不會感到陌生。

這些發生器可分兩類:

一類是只要放置在地上就能穩定地、無條件地產生紅石信號,例如

區別在于:

1.    紅石火把所附著的方塊被強充能時會熄滅,不再產生紅石信號,而紅石塊不能。

2.    紅石塊本身就是一個強充能方塊,而紅石火把不是一個強充能方塊。

3.    紅石火把能夠強充能上方的方塊,而紅石塊不能弱充能四周方塊。

要點:紅石塊會改變紅石的朝向,但強充能方塊不會。

另一類只在滿足某些條件時產生紅石信號,相當于程序算法里的邏輯判斷或現實中電路里的傳感器。包括但不限于下面這些。名稱后的括號寫出了產生信號的條件

(有開關兩個位置,位置為“開”時)

(按下之后 彈起來之前)

/

這兩個發生器將詳細解釋贝博app手机版,因為這將對之后的說明有很大的幫助。

中繼器:

當接收到來自后方的紅石信號時,延遲 (檔位)Ticks 后,(這里的Ticks指的是紅石刻,10紅石刻 = 1秒)  對前方產生信號強度為15的紅石信號。

如果側面接收到紅石信號時,檢測狀態是否為充能,如果充能,持續充能,無視后方是否接收紅石信號,直到側面紅石信號消失,返回正常狀態。如果未充能,則無論后方是否充能,前方都不會產生信號。,直到側面紅石信號消失,返回正常狀態。(即鎖存)

(白天/晚上 實際上是檢查游戲時間的tick數而不是檢查天亮了沒有)

(被打開的瞬間)

(絆線被生物踩到、絆線上掉落物品、絆線被箭射中(待驗證)、絆線被非剪刀物品切斷)

(方塊更新時)

各材質的

(原版木壓力板:被踩到/被掉落物碰到/被箭射中時

原版石壓力板:被踩到時

金壓力板、鐵壓力板見介紹

木匠方塊模組的木匠壓力板:有三種模式(玩家生物掉落物均可觸發/僅生物可觸發/僅玩家可觸發)可以由同一模組的木匠錘子進行切換)

有關這些物品的介紹,請點擊超鏈接。

2)效應器

我們可以把利用紅石信號進行工作的物品叫做效應器:

1.活塞/粘性活塞

接收到紅石信號時,兩者都推方塊;

紅石信號消失時,活塞只收回活塞頭;

粘性活塞則判斷活塞頭有沒有貼著可以拉動的方塊,有,就把它拉回來。

2.投擲器

接收到紅石信號時,隨機選1個內容物投擲到面對的方向,如果對應的方向有容器,那么傳輸該內容物到容器中;

紅石信號消失時無動作。

換句話說,如果想讓投擲器連續扔出物品,就要不斷地通、斷紅石信號,可以采用連續按按鈕(按鈕能自動斷開),反復拉拉桿和使用高級一點的脈沖電路等方法。

3.發射器

接受到紅石信號時,隨機選取1個內容物,檢查它是什么:

如果是一般的物品,像投擲器一樣投擲;

如果是下列物品:

箭/火焰彈:從其面朝的方向(那個張著嘴的臉)發射,射程相當遠。如果射出的是箭,發射器能在它的臉被某些方塊遮住的情況下將箭射到沒有被遮住的情況下應該射到的位置。這些方塊包括藤蔓(還記得叢林神殿里的機關嗎)

水桶/巖漿桶:把它變成空桶留在發射器里,在面朝的那一格放置一格水/巖漿(就是把桶里的東西倒出來)

空桶:如果發射器面朝著一格水或巖漿,讓它消失,然后將空桶變成水桶或巖漿桶(就是把倒出來的液體收回去)

對于其他模組添加的液體桶,具體情況有待驗證。

噴濺藥水:對著面朝的方向使用藥水,就像玩家右鍵扔出噴濺藥水那樣。

TNT:放置在面前并立即點燃。

4.木門/鐵門/活版門/鐵活版門/柵欄門,接收紅石信號時開,紅石信號消失時關。其中鐵門和鐵活板門只能使用紅石信號開關。

特別地,門的接收信號范圍不僅限于緊靠弱充能方塊,它能接收相鄰的發生器的信號,這導致了在門前鋪壓力板就可開門。

對于門,如果放置在一個特殊的角度,可以讓它在接受信號時處于的位置恰好擋住出口,做出一個“接收信號時關,沒有信號時開”的門。某些解謎地圖會見到這種技巧,并可以做出打不開的門。

5.TNT,受到紅石信號時將被點燃。

6.紅石燈,接收紅石信號時點亮。

7.音符盒,接收紅石信號時播放對應的聲音

3)紅石的一些術語

紅石脈沖:

紅石信號快速開關一次。

紅石機械:

由發生器、紅石線和效應器組成的裝置。

高頻/低頻紅石、紅石鐘:

以一定的速率不斷產生紅石信號的裝置。

以頻率分為高頻、低頻兩種。

它們統稱紅石鐘。

透明方塊/非透明方塊/實體方塊/非實體方塊:

如果有一個方塊擋在紅石上方1格,使得紅石粉無法與相鄰的比其高1格的紅石粉連接,那么該方塊就是一個非透明方塊/實體方塊。

實體方塊可以被充能。

反之則是透明方塊/非實體方塊。

非實體方塊無法被充能。


4.進階概念:簡單的邏輯結構及其應用

1)簡單的邏輯代數

邏輯代數看上去是個很厲害的詞,但是我們僅僅為了便于下文內容的理解,來了解一些非常簡單的邏輯代數。

我們不妨把“充能”狀態記為一個任意大于0的數;

而把“未充能”狀態記為0.

邏輯結構常常需要處理多個輸入之間的關系,也就是對這些輸入進行邏輯運算。

我們在日常生活中也會用到三種基本的邏輯:

邏輯“或”---->所有的輸入條件中,只要有一個大于0,輸出就大于0。

這種運算可以理解為將所有的輸入相加。最后的得數大于0,就有輸出;等于0,就不輸出。

因為只要有一個加數大于0,全部求和的得數就會大于0(定義里是沒有負數的喲)

所以理解為加法符合我們的定義。

邏輯“與”---->所有的輸入條件中,只要有一個為0,輸出就為0。

這種運算可以理解為將所有的輸入相乘。最后的得數大于0,就有輸出;等于0,就不輸出。

只要有一個乘數是0,全部相乘的得數就會為0

所以理解為乘法符合我們的定義。

邏輯“非”---->輸入為0,就輸出非0;輸入非0,就輸出為0

說白了就是相反,很簡單的。


2)紅石電路中這樣進行邏輯運算

我們在這一節的標題中提到了邏輯結構。

所謂邏輯結構,就是用來在Minecraft中,以紅石電路結構的形式,對紅石信號進行邏輯運算的方塊結構。由于邏輯結構相當于一個“門”,讓信號通過并作出一定的反應,因此又將邏輯結構稱為邏輯門或者

邏輯結構有很多很多種。但是這里只介紹簡單的邏輯結構,也就是對應三種簡單邏輯運算的結構。

每種結構的擺放方法都不只有這里介紹的這一種。你可以自己發現各種五花八門的擺放方式。

以下利用表格來畫簡圖,表格的一格表示1個方塊。

非門

如果A為輸入,B為輸出;

如果A輸入紅石信號,則B不輸出紅石信號。

如果A不輸入紅石信號,則B輸出紅石信號。

參考擺放方法:

紅石線
非透明方塊紅石火把紅石線

其中左側紅石線連接輸入端,而右邊紅石線作輸出端。

左側紅石線有信號時,紅石火把熄滅,右端紅石線無充能;

左側紅石線無信號時,紅石火把熄滅,右端紅石線強充能。

這樣就起到了邏輯運算“非”的功能。

應用舉例:

  1. 在沒有月光傳感器的早期原版MC,利用陽光傳感器和非門感應夜晚。

  2. 將另一個非門的輸入端連接到非門的輸出端,由于負負得正,輸出端的充能狀態將與輸入端相同,且信號強度增強到15.這種結構可以代替中繼器,能節省一點紅石粉。每使用1個這樣的結構作為中繼就會給電路造成1刻延遲。經計算,長距離紅石電路中使用這個方法產生的延遲略長于使用中繼器產生的延遲。

與門

如果A、B、C...... 是輸入,α 為輸出;(輸入不限數量多少,>1就行)

只有所有輸入都提供紅石信號,α 才會輸出紅石信號。

或門

如果A、B、C...... 是輸入,α 為輸出;(輸入不限數量多少,>1就行)

只有所有輸入都不提供紅石信號, α 才不會輸出信號。

反之如果一個輸入提供了信號, α 就會輸出信號。