創作內容

3 GP

【Minecraft】【計算機】記分板加法計算機教學

作者:小坤│2013-11-03 09:08:35│巴幣:14│人氣:907


  大家好,我是小坤

  指令方塊計算機這種東西

  從【1.5】就埋藏在我心底很久了

  一直找不到機會好好的寫一篇文章

  乘著這天時地利人和的時光

  讓我將這份感動分享給看這篇文章的你吧


前導

  從紅石剛出現在Minecraft以來

  蓋一台計算機總是許多玩紅石人的夢想

  後來的版本新增紅石中繼器

  延長訊號再也不需要透過邏輯閘的幫忙



  【1.5】以後,由於記分板的盛行

  利用指令方塊蓋一台計算機再也不是夢想

  【1.7】以後,由於(setblock)指令

  指令就算不藉由記分板還是可以蓋出計算機



本論

  因為二進位計算機主要是限制於紅石以往不是亮就是暗這個限制

  導致計算的時候還是以二進位為主會比較方便

  但是記分板可就不同了

  記分板可以輕鬆的突破這個限制

  所以我們便可以用好懂的十進位來做計算



  加法

    指令方塊計算機應用到程式學上的大數運算

    也就是用一個數字陣列來代表某個很大的數

    換句話說是很多個數字組成一個數

    比如說100這個數字如果用大數來儲存的話

    就會被儲存成1、0和0三個數字



    那麼,藉由這個概念便可以造出第一台計算機

    首先,我們假設一條計算式子:A+B=C

    於是我們先把這三個變數,也就是值會變動的數

    先利用記分板建立起來

    /scordboard objectives add a dummy

    /scordboard objectives add b dummy

    /scordboard objectives add c dummy

    這三個指令代表新增一個分別叫做a、b和c的記分板



    讓我們先給這些記分板一個數值吧

    假設我們想要計算的式子是:1+2=?  

    那麼我們就要先將a設定成1、b設定成2

    /scordboard players set @p a 1

                /scordboard players set @p b 2

    眼尖如你的玩家可能已經發現了

    記分板計算機最為人詬病的地方

    就是記分板計算機一定要在某個玩家身上計算

    但這是無法避免的

    指令方塊計算機最大的優點是快又體積小

    但是最大的缺點便是這一塊了

    一直到【1.7】才有另外一種形式的指令方塊計算機



    那麼,讓我繼續帶領各位進入計算機的世界吧

    在加法中,c必須要加上a和c兩個值才行

    我們就來試著學習如何相加吧

    /scoreboard plarers add @p[score_a=1,score_a_min=1] c 1

    這代表將a是1的時候,把c加1

    其中中括弧內score_a=1這個條件要正確

    a必需小於等於1

    中括弧內score_a_min=1這個條件要正確

    a必需大於等於1

    如果兩個條件都要正確的話

    a必需等於1才行

    這樣有什麼好處呢?

    /scoreboard plarers add @p[score_a=1,score_a_min=1] c 1

    /scoreboard plarers add @p[score_a=2,score_a_min=2] c 2

    /scoreboard plarers add @p[score_a=3,score_a_min=3] c 3

    /scoreboard plarers add @p[score_a=4,score_a_min=4] c 4

    /scoreboard plarers add @p[score_a=5,score_a_min=5] c 5

    /scoreboard plarers add @p[score_a=6,score_a_min=6] c 6

    /scoreboard plarers add @p[score_a=7,score_a_min=7] c 7

    /scoreboard plarers add @p[score_a=8,score_a_min=8] c 8

    /scoreboard plarers add @p[score_a=9,score_a_min=9] c 9

    只要偵測a是1~9的數字,c就加上1~9

    便可以將a的值給c了

    如果後面還想用到a的話,a的值還必需要歸零

    /scoreboard players set @p a 0

    同理,b也是一樣的方法將值給c



    說到這裡,可能有些人已經產生疑問了

    如果在9+9的情況下c就會超過10

    又該怎麼辦呢?

    這時,我們將c的數字新增一個十位的記分板

    /scoreboard objectives add c1 dummy

    接著進行所謂的進位

    當c的值超過十的時候

    c真正的值應該是c-10

    /scoreboard players remove @p[score_c_min=10] c 10

    而c1必需+1

    /scoreboard players add @p[score_c_min=10] c1 1

    其中,如果c已經從十以上的數字變回1~9的話

    c1永遠無法+1

    所以實際的狀況應該要反過來

    讓c1先加再讓c被扣掉

    /scoreboard players add @p[score_c_min=10] c1 1

    /scoreboard players remove @p[score_c_min=10] c 10

    好了,以上就是指令方塊加法計算機的部份

    不知道各位是否清楚整個運作原理呢?

    如果還是有些不清楚的話

    我將整個計算機會用到的指令全部打在下面

    其中通電順序是指令被觸發的順序

    如同上面的進位,c可不能先被扣除呢!



    通電順序1

    /scordboard objectives add a dummy

    /scordboard objectives add b dummy

    /scordboard objectives add c dummy

    通電順序2

    /scoreboard plarers add @p[score_a=1,score_a_min=1] c 1

    /scoreboard plarers add @p[score_a=2,score_a_min=2] c 2

    /scoreboard plarers add @p[score_a=3,score_a_min=3] c 3

    /scoreboard plarers add @p[score_a=4,score_a_min=4] c 4

    /scoreboard plarers add @p[score_a=5,score_a_min=5] c 5

    /scoreboard plarers add @p[score_a=6,score_a_min=6] c 6

    /scoreboard plarers add @p[score_a=7,score_a_min=7] c 7

    /scoreboard plarers add @p[score_a=8,score_a_min=8] c 8

    /scoreboard plarers add @p[score_a=9,score_a_min=9] c 9

    /scoreboard plarers add @p[score_b=1,score_b_min=1] c 1

    /scoreboard plarers add @p[score_b=2,score_b_min=2] c 2

    /scoreboard plarers add @p[score_b=3,score_b_min=3] c 3

    /scoreboard plarers add @p[score_b=4,score_b_min=4] c 4

    /scoreboard plarers add @p[score_b=5,score_b_min=5] c 5

    /scoreboard plarers add @p[score_b=6,score_b_min=6] c 6

    /scoreboard plarers add @p[score_b=7,score_b_min=7] c 7

    /scoreboard plarers add @p[score_b=8,score_b_min=8] c 8

    /scoreboard plarers add @p[score_b=9,score_b_min=9] c 9

    通電順序3

    /scoreboard players add @p[score_c_min=10] c1 1

    通電順序4

    /scoreboard players remove @p[score_c_min=10] c 10



後計

  雖說很想要再向各位分享減法、乘法與除法的作法

  但在打完加法以後我也精疲力竭了

  總之,下次再分享吧(光速逃



引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2229975
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:小坤|Minecraft|計算機

留言共 2 篇留言

勳章
只要+上1.8的運算子,指令方塊數量直接砍半!

10-22 22:25

小坤
所以你看我直接做一個壓縮指令方塊的東西啦,這個東西本來就是歷史性大於實用性10-22 22:38
勳章
恩....但我在想有時候用壓縮指令方塊是否會出現不可逆的問題,因為如果寫死了要改就很麻煩,如果是我八成會弄成多個壓縮,全壓抑起實在是好複雜....
話說你壓縮指令方塊那一篇可不可以給下載研究?

10-22 22:43

小坤
不會,這個做的東西叫做"指令載入器",也就是要什麼指令最後再放就好10-22 22:47
我要留言提醒:您尚未登入,請先登入再留言

3喜歡★kyob1010 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:草莓龍 - 我的王國 -... 後一篇:【MinecraftHu...

追蹤私訊切換新版閱覽

作品資料夾

ilove487奇幻小說連載中
《克蘇魯的黎明》0658.武器店店主看更多我要大聲說7小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】