首頁 游戲

Minecraft指令手冊

第九十五章 初識邏輯組

Minecraft指令手冊 你好MC 1648 2020-04-03 19:36:13

 ?。ū菊略瓰椤弘S機(jī)池-抽獎(jiǎng)漏斗』,于2022年7月28日改為『初識邏輯組』)

 ?。ㄗ詈迷谄瘘c(diǎn)中文網(wǎng)上閱讀本章)

  在前面四章,我們了解了一些隔壁紅石的知識點(diǎn)。但為什么我們要了解那些?因?yàn)槲覀円私庖粋€(gè)在命令圈中可以堪稱元老級別的東西:

  邏輯組

  什么是邏輯組?在了解邏輯組是什么之前,我們還得把時(shí)間向前撥回到2012年10月25日。就在這一天,Minecraft正式發(fā)布了一個(gè)對于指令圈有著重大影響的版本:

  Minecraft PC 1.4.2版本(Java版1.4.2)駭人更新正式版

  此次版本中,雖然主打的是『凋零』以及和凋零相關(guān)的東西,但有一個(gè)重要的方塊也在此版本出現(xiàn)。這個(gè)方塊奠定了接下來幾年中整個(gè)命令圈的基礎(chǔ)。

  這個(gè)方塊是什么呢?命令方塊!

  在Java1.4.2版本中加入的命令方塊,和現(xiàn)在的命令方塊有很大不同。當(dāng)時(shí)的命令方塊只能通過紅石激活才能夠運(yùn)行指令,且激活一次只能運(yùn)行一次,這就導(dǎo)致了當(dāng)時(shí)的命令方塊十分依賴于紅石電路。因此,直到Java1.9版本更新前,命令方塊+紅石電路基本上就是當(dāng)時(shí)命令圈的標(biāo)配(特別是在國內(nèi))。而這種使用紅石電路將命令方塊連起來的組合,就被玩家們稱之為:邏輯組

  只不過隨著玩家們對游戲機(jī)制的深入了解,慢慢地就出現(xiàn)一些不怎么依賴紅石電路的命令方塊組合,這種方式最初由于較難理解其機(jī)制所以在國內(nèi)使用不廣。但隨著Java1.9版本的更新,加入了循環(huán)和連鎖型命令方塊,這種方式一下子就成為主流,并延續(xù)到現(xiàn)在。這種方式是什么呢?我們暫且不講,但你大致應(yīng)該知道是什么,因?yàn)槲覀円呀?jīng)接觸過很多次了。

  現(xiàn)在,邏輯組已經(jīng)不僅僅只有『命令方塊+紅石電路』一種形式,還有純命令方塊的形式。為了方便區(qū)分,本書就將邏輯組按照其形式大致分為三類:

 ?、偌t石邏輯組——單純使用紅石電路將命令方塊組合起來的形式

 ?、诎爰t石邏輯組——有使用到紅石電路,也有使用到其他方式來將命令方塊組合起來的形式

 ?、奂冎噶钸壿嫿M——只是通過游戲機(jī)制或命令方塊本身功能來將命令方塊組合起來的形式

  (PS:雖然指令圈內(nèi)有邏輯組這個(gè)叫法,但只有本書是這么分類的)

  這一章,我們主要來了解最古老的邏輯組:紅石邏輯組

  不管是什么種類的邏輯組,肯定都可以分為兩部分:

  核心——控制以及驅(qū)動(dòng)整個(gè)邏輯組運(yùn)行和更新的部分,按照類型可分為紅石驅(qū)動(dòng)和命令方塊驅(qū)動(dòng)

  通路——整個(gè)邏輯組的附屬部分

  比如我們在第九十三章中用來實(shí)現(xiàn)生成鉆石的那個(gè)命令方塊組合,其實(shí)就是一個(gè)邏輯組,有核心和通路兩個(gè)部分:

  ?〇A→?分界┠█!B→C→D→(插圖95-1)

  (更準(zhǔn)確的來說,是邏輯組中的半紅石邏輯組)

  這個(gè)邏輯組的左邊部分『?〇A→?』由拉桿和一個(gè)重復(fù)型命令方塊組成。拉桿用于控制整個(gè)邏輯組的運(yùn)行,而重復(fù)型命令方塊則在被拉桿激活的情況下不斷運(yùn)行以保障整個(gè)邏輯組的更新,所以這部分就是這整個(gè)邏輯組的核心。而右邊部分『┠█!B→C→D→』是在左邊部分的驅(qū)動(dòng)下才會(huì)激活,是整個(gè)邏輯組的附屬部分,所以叫做『通路』。

  唉?運(yùn)行和更新分別是指什么?

  『運(yùn)行』,也就是字面意思,運(yùn)行命令方塊和紅石電路,執(zhí)行指令嘛。

  『更新』,指的是在一個(gè)處于運(yùn)行狀態(tài)的邏輯組中,使得邏輯組中的命令方塊重新執(zhí)行指令。

  邏輯組按照運(yùn)行次數(shù)還可以分為兩種:

  ①脈沖型邏輯組——不存在更新的概念,每次激活就只運(yùn)行一次

  ②重復(fù)型邏輯組——存在更新的概念,激活后會(huì)重復(fù)執(zhí)行直到停止激活

  這就是邏輯組的基本概念。

  『紅石邏輯組』可以說是最容易理解的邏輯組。那什么是『紅石邏輯組』?

  紅石邏輯組,指的是全部通過紅石電路,將許多命令方塊組合在一起以實(shí)現(xiàn)特定功能的邏輯組。這種邏輯組非常依賴于紅石電路的控制,所以具有如下的幾個(gè)特點(diǎn):

 ?、偃菀卓刂?p>  ②執(zhí)行速度較慢

 ?、鄱嗖捎眉t石邏輯,容易閱讀

 ?、苷嫉孛娣e大

 ?、菀资芡饨缬绊?p> ?、揄敹嗝棵?次的執(zhí)行速度

  看起來這缺點(diǎn)很多啊,但這并不妨礙我們了解它,畢竟它可使最簡單的邏輯組。

  讓我們來看一個(gè)例子:

  紅石

  脈沖→A?B→C(插圖95-2)

  ?

  圖例

  ?······紅石塊

  →······紅石中繼器

  ?······紅石比較器

  這是一個(gè)Java1.6.1版本的紅石邏輯組(也是一個(gè)重復(fù)型邏輯組),還是非常典型的那種。不難發(fā)現(xiàn),這個(gè)邏輯組的核心使用了『單刻比較器減法脈沖』來保證整個(gè)邏輯組的更新,而紅石塊就像拉桿一樣控制著整個(gè)邏輯組的運(yùn)行。在通路中,使用了紅石比較器和中繼器來保證執(zhí)行順序不會(huì)亂,并且有用到一點(diǎn)紅石電路的邏輯在里面。那么這個(gè)邏輯組有什么用呢?

  其指令如下:

  A······testfor @a[r=5]

  B······scoreboard players add @a[r=5,c=1,x=20,y=4,z=200] count 1

  C······give @a[score_count=5,r=5,x=20,y=4,z=200] 264

  這個(gè)邏輯組會(huì)檢測半徑5格內(nèi)是否有玩家存在,如果有就給這個(gè)玩家的count計(jì)分項(xiàng)加上1,增加過后如果這名玩家的count計(jì)分項(xiàng)分?jǐn)?shù)不超過5,就給予這名玩家一個(gè)鉆石。

  也就是說,這可以使得每個(gè)經(jīng)過這里的玩家都領(lǐng)到一些鉆石,并且每人最多只能領(lǐng)取5顆。但由于紅石電路的特性,導(dǎo)致理想很美好,實(shí)踐起來可能有兩個(gè)問題:

 ?、偃绻婕遗艿锰?,可能導(dǎo)致雖然檢測到了,但是并沒有給玩家鉆石。

 ?、谌绻Wo(hù)沒做好,有些玩家可能會(huì)不小心破壞掉紅石脈沖,導(dǎo)致邏輯組停止更新

  這就是紅石邏輯組。如果你還不清楚,我們再來看一個(gè)例子:

  ?A→B→C(插圖95-3)

  圖例

  ?······木制壓力板

  →······紅石中繼器

  這也是一個(gè)Java1.6.1版本的紅石邏輯組。但它的核心僅僅只有一個(gè)壓力板來控制運(yùn)行,并沒有更新邏輯組的裝置。所以這是一個(gè)脈沖型邏輯組,每次進(jìn)入運(yùn)行狀態(tài)僅僅只會(huì)執(zhí)行一次而已。

  它的通路也是使用紅石中繼器來控制命令方塊執(zhí)行的順序。那么這個(gè)邏輯組有什么用呢?

  其指令如下:

  A······playsound mob.villager.yes @p[x=21,y=4,z=252,r=4]~1 ~1 ~

  B······give @p[x=21,y=4,z=252,r=4] 32

  C······tell @p[x=21,y=4,z=252,r=4]你獲得了菜鳥的最愛!

  這將會(huì)給處于壓力板周圍4格內(nèi)的最近玩家(一般是踩著壓力板的玩家)一個(gè)『枯萎的灌木』,并同時(shí)發(fā)出村民贊同的聲音,告訴玩家『你獲得了菜鳥的最愛!』。

  這就是紅石邏輯組的基礎(chǔ)內(nèi)容。如果你成功理解了本章的內(nèi)容,那不妨發(fā)揮一下你的想象力,去嘗試以紅石邏輯組的形式做幾個(gè)有點(diǎn)用的邏輯組出來,本章到此為止。

 ?。ㄗⅲ涸诓煌噶罱坛虄?nèi)『邏輯組』也有可能會(huì)有其他的叫法,但總之都是一個(gè)東西)

 ?。ù苏鹿?jié)有少部分概念和名詞來自『指令方塊進(jìn)階教程——模塊(面向過程)』)

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南