Minecraft世界中到處都有很高的地方。讓我們使用事件處理塊和計(jì)數(shù)器提供一份當(dāng)你從高處墜亡的事后報(bào)告。這份死亡報(bào)告將會展示你在重生之前掉落的距離(也就是塊數(shù))。
對于這個項(xiàng)目,你希望處在一個擁有巨大懸崖的世界?;蛘?,你可以在創(chuàng)造模式和生存模式之間切換,飛到一個很高的位置來進(jìn)行測試。
你將創(chuàng)建一個變量來跟蹤你掉落的距離,并在重生后以塊為擔(dān)保報(bào)告掉落的距離。
實(shí)踐
拉出聊天命令和玩家事件
- 創(chuàng)建一個MakeCode項(xiàng)目,命名為“Falling”。
- 從玩家工具箱,拖放一個聊天命令到工作區(qū)。
- 右鍵點(diǎn)擊聊天命令,選擇右鍵菜單重復(fù)。復(fù)制兩次,最終得到三個聊天命令塊。
- 三個聊天命令依次命名為"cr"(creative),"su"(survival),"pm"(postmortem)。
- 從玩家工具箱,拖放兩個事件塊到工作區(qū):當(dāng)玩家步行時(shí)、當(dāng)玩家死亡時(shí)。
-
當(dāng)玩家步行時(shí),改為當(dāng)玩家墜落時(shí)。
創(chuàng)造模式
首先要做的第一件事是構(gòu)建聊天命令"cr"。這個命令會讓游戲進(jìn)入創(chuàng)造模式。你可以在創(chuàng)造模式下飛行,所以這非常有助于飛到高處。
- 從游戲內(nèi)容工具箱,拖放更改游戲模式到工作區(qū)中的聊天命令"cr"中。
-
將更改游戲模式塊中的默認(rèn)生存改為創(chuàng)造(可能翻譯為創(chuàng)意),目標(biāo)玩家改為你自己(@s)。
現(xiàn)在為了切換到創(chuàng)造模式,你只需要在Minecraft游戲世界中的聊天窗口中輸入"cr"并回車即可。然后兩次敲擊空格鍵你就可以向上飛到任意希望的高度。
生存模式
此時(shí)你將希望使用同樣的策略將游戲模式更改為生存模式。(只有生存模式下玩家才會墜亡)
- 從游戲內(nèi)容工具箱,拖放更改游戲模式塊到工作區(qū)中的聊天命令"su"內(nèi)。
-
目標(biāo)玩家改為你自己(@s)。
創(chuàng)建變量fall
- 在變量工具箱中,點(diǎn)擊設(shè)置變量按鈕,彈出的對話框輸入變量名"fall"后點(diǎn)擊確定。
這個變量將遞增(累加)玩家落下的每一個塊。你也將使用另外一個變量來存儲玩家最終到墜落位置的塊數(shù)。
跟蹤墜落
- 在變量工具箱中,點(diǎn)擊設(shè)置變量按鈕,彈出對話框輸入變量名為"report"后點(diǎn)擊確定。
- 在變量工具箱中,拖放以1為幅度更改變量到工作區(qū)中的當(dāng)玩家墜落時(shí)事件塊內(nèi)。
- 選擇變量為fall以取代默認(rèn)的變量。
- 從變量工具箱,拖放兩次將變量設(shè)置為0塊到工作區(qū)中的當(dāng)玩家死亡時(shí)事件塊內(nèi)。
- 從變量工具箱中,拖放變量fall到工作區(qū)替換當(dāng)玩家死亡時(shí)事件塊中的將第一個設(shè)置變量為0塊中的0。
- 第二個將變量設(shè)置為0塊中,從下拉選項(xiàng)中選擇變量fall。
這樣將會將最新的fall變量的值保存到report,然后你可以將fall重置為0并進(jìn)行一個墜落測試。
當(dāng)你從42塊高的地方墜落后將發(fā)生如下的事情:
- 你墜落了42塊的距離。
- 變量fall的值為42。
- 復(fù)制42到變量report。
- fall變量的值重置為0。
- 打印report信息。
-
你找到別的地方再次跳下去。
報(bào)告墜落高度
最后,你需要打印墜落高度的信息。
- 從玩家工具箱,拖放說"Hi"代碼塊到當(dāng)聊天命令"pm"塊內(nèi)。
-
從高級>文本工具箱中,拖放組合字符串塊替換說"Hi"中的文本"Hi"。
將變量加入到消息中
- 修改組合字符串中的"您好"為"you fell "。
- 從變量工具箱中,拖放變量report替換組合字符串中的"世界"。
增加更多打印信息
目前打印的信息如"you fell 43",這樣是令人疑惑的,你希望打印類似"you fell 43 blocks"的信息。為了這樣做,你需要切換到JavaScript模式。
- 點(diǎn)擊工作區(qū)上方的JavaScript切換按鈕,切換到MakeCode中的JavaScript編輯模式。
到目前為止,您嘗試的所有塊編碼也可以以原始形式查看。不要被嚇倒 - 只要看看,并嘗試閱讀它,因?yàn)槟銜x句子。通過在Blocks和JavaScript之間來回查看,您可以很好地了解它的功能!
- 找到這行代碼
player.say("You fell " + report) - 增加字符串"blocks"到字符串組合的最后,修改如下:
player.say("you fell " + report + " blocks")
返回方塊模式
- 點(diǎn)擊工作區(qū)上方的方塊按鈕可以切換到MakeCode方塊編輯模式。
你看到方塊部分發(fā)生了怎樣的變化嗎?你敢于在JavaScript模式下嘗試和修改更多內(nèi)容嗎?看看會發(fā)生什么?
試試命令
現(xiàn)在進(jìn)入到Minecraft游戲中,輸入命令"cr"進(jìn)入創(chuàng)造模式,兩次敲擊空格鍵,按住空格鍵向上飛直到你飛到足夠的高度,然后輸入"su"命令切換到生存模式從而墜落到地面。死后單擊重生,輸入命令"pm",你可以看到打印信息展示了墜落了多少塊的距離!

完整的程序

挑戰(zhàn)
現(xiàn)在你可以改變一些東西,來創(chuàng)建你自己的不同的、獨(dú)一無二的情形。
挑戰(zhàn)一 直接打印信息塊
你能找到一種方式直接在Minecraft世界中用方塊輸出報(bào)告嗎?你認(rèn)為這種方式比在聊天窗口顯示報(bào)告更易讀嗎?
這是你需要做的:
- 把說Hi塊改成別的。你能找到能讓你打印信息的功能塊嗎?
挑戰(zhàn)二 創(chuàng)建變量追蹤所有墜落的距離塊
當(dāng)前,代碼會報(bào)告你最后一次墜落的信息,但是報(bào)告你多次墜落的總塊數(shù)哪?如果你墜落40個塊,然后再次墜落50個塊,總塊數(shù)是90個塊。輸入"pm"命令會打印"you fell 50 blocks"。你的新聊天命令"tot"(total)將會報(bào)告"You have fallen 90 blocks total so far! Keep Jumping!"。
這是您需要做的:
- 你需要一個新的變量來存儲總的墜落距離塊數(shù)。
- 你每次墜落需要設(shè)置變量增加fall的塊數(shù)。
- 你需要建立一個新的聊天命令"tot"(total)或者其他你認(rèn)為的名稱。這無關(guān)緊要。
-
你需要使用組合字符串來組合文本和變量輸出需要打印的信息。
實(shí)驗(yàn)
這里沒有規(guī)則,復(fù)制并探索性的改變代碼看看你能創(chuàng)造出什么,實(shí)驗(yàn)部分僅給出建議,做出你自己想做的東西!
實(shí)驗(yàn)一 跟蹤游泳的距離
如果你要報(bào)告游泳的距離該怎么辦?你也可以報(bào)告其他的動作。你可以跟蹤多個動作,并最終匯總它們,或者提供一個完整報(bào)告來顯示所有你做的事情。使用代碼并查看可能報(bào)告的內(nèi)容和存儲在變量中的內(nèi)容。





