国产成人精品高清在线观看99,日韩一本之道一区中文字幕,国外亚洲成av人片在线观看,国产欧美日韩一区二区三区在线,国产精品美女久久久免费

《我的世界》漢字輸入法原理詳解

時(shí)間:2016/01/27 11:11:30 編輯:小麗人
頁(yè)面導(dǎo)航:

其原理為

讀取字庫(kù)召喚出來(lái)的同音字紙條,紙條上每個(gè)盔甲架都代表著一個(gè)字,模塊的讀取長(zhǎng)度為10個(gè)字。那么我們就應(yīng)該要注意一點(diǎn),字在多于十個(gè)的時(shí)候我們要提供翻頁(yè)功能。但是我們不能翻的太過(guò)頭,否則模塊讀取不到字。

那么我們就需要探測(cè)這個(gè)紙條是否已經(jīng)到了頭,那么我們就要對(duì)超出的部分進(jìn)行探測(cè),一旦沒有超出的部分,那就代表著已經(jīng)翻到了頭,這時(shí)候就需要消除掉那處的點(diǎn)擊事件,也就是換一條指令。(雖然別的辦法也行,不過(guò)這樣最簡(jiǎn)單粗暴)

/scoreboard players set l end 0

/testfor @e[0,4,0,dz=-100]

/scoreboard players set l end 1 (con模式)

這是一組探測(cè)是否能夠向左翻的指令,向右的指令結(jié)構(gòu)相同。

/scoreboard players test r end 1 1

/scoreboard players test l end 1 1 (con模式)

/tellraw (con模式)

這里是一個(gè)探測(cè)的例子,用于探測(cè)指令狀態(tài)。

由于左邊和右邊各有兩種可能,所以總共需要四條序列。不同的tellraw有著不同的翻頁(yè)狀態(tài)。

緩存模塊

《我的世界》漢字輸入法原理詳解

也就是中間那兩行目標(biāo)所在的位置,這個(gè)位置呢是非常有趣的。白樺木木板那一行所存儲(chǔ)的是拼音,因?yàn)槠匆糇疃嗟目赡苄詾?個(gè)字母,所以這里也就有六個(gè)位置。橡木木板那一行所存儲(chǔ)的是打出的字,作為一個(gè)中繼緩存。按下enter可以將打好的字轉(zhuǎn)移到指定的位置。

每行有一個(gè)屬于自己的指針。拼音那一行由于需要讀取數(shù)據(jù)所以有一排盔甲架。圖中的命令方塊僅為召喚盔甲架使用,不影響運(yùn)行。

summon ArmorStand ~ ~ ~ {CustomName:"set",NoGravity:1,Marker:1}

這是一個(gè)樣例的指令。

讀取拼音內(nèi)容的盔甲架名為set

拼音行指針名為check

文字行指針名為print

按鍵錄入模塊

首先上方有一排高頻,用于讀取拼音行的內(nèi)容。

/scoreboard players set @e[name=set] end 0

/execute @e[name=a] ~-1 ~ ~ /scoreboard players set @e[r=0,name=set] end 1

/execute @e[name=b] ~-1 ~ ~ /scoreboard players set @e[r=0,name=set] end 2

/execute @e[name=y] ~-1 ~ ~ /scoreboard players set @e[r=0,name=set] end 25

/execute @e[name=z] ~-1 ~ ~ /scoreboard players set @e[r=0,name=set] end 26

A-Z對(duì)應(yīng)數(shù)字1-26,空格對(duì)應(yīng)數(shù)字0。

然后接下來(lái)是26排命令方塊,對(duì)應(yīng)各個(gè)字母,執(zhí)行一次輸入字母的工作。

以字母A為例。

/setblock ~1 ~ ~ air

/execute @e[name=check] ~ ~ ~ kill @e[r=0,name=!check]

/execute @e[name=check] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:"a",NoGravity:1,Marker:1}

/execute @e[name=check] ~ ~ ~ detect ~ ~-1 ~1 planks -1 /tp @e[name=check] ~ ~ ~1

清理一次本格內(nèi)容以防bug。然后寫下“A”,最后向右移動(dòng)一次指針。

刪除模塊

和邊上的錄入模塊工作原理很類似。

《我的世界》漢字輸入法原理詳解

同樣的,有刪除拼音和刪除文字兩排指令。

/setblock ~1 ~ ~ air

/execute @e[name=print] ~ ~ ~ detect ~ ~-1 ~-1 planks -1 /tp @e[name=print] ~ ~ ~-1

/execute @e[name=print] ~ ~ ~ kill @e[r=0,name=!print]

kill @e[0,4,-1000,dz=2000,dx=0,dy=0,type=ArmorStand]

最后的kill指令是為了刷新候選字。

本文導(dǎo)航
第1頁(yè):第1頁(yè) 第2頁(yè):第2頁(yè) 第3頁(yè):第3頁(yè)
相關(guān)攻略
相關(guān)游戲