還記得上集說的 microbit Hero遊戲設計基本概念嗎?忘了沒關係,讓吉米哥為各位朋友再次複習, 我們也可以照著這個步驟一一寫出這個有趣的遊戲。
1.建立遊戲角色與位置
關於這個Hero這個遊戲,我們需要三個角色,英雄(Hero)、怪物(Ghost)、寶物(Food),這部分可以在啟動方塊內先寫好;在創造角色的同時, 也要設定好該角色的初始位置。

2.設定角色顯示方式
在創造角色後,為了讓玩家可以清楚知道三個角色分別的位置,所以利用亮度的不同來區分三個角色。
(接續 上面程式區塊1)

3.編輯遊戲玩法-無限迴圈加暫停
了讓遊戲可以在開始後持續運行,並讓遊戲有一定的反應時間,我們加入while 無限迴圈,並在迴圈內放置暫停方塊。
或許有朋友在為何要加入暫停方塊這部分不是很瞭解,其實就是我們加入while迴圈後,micro:bit 程式便會不停的運算所設計的遊戲玩法,但如果我們沒有加入暫停的方塊在裡面時,猜猜會發生什麼事呢? 答案就是會不斷的出現 GAME OVER~~
所以加入暫停方塊的用意就是遊戲玩法的程序每執行一次運算時,小小暫停一下500ms,讓人類玩家可以有一些反應時間進行英雄的移動,當然換句話說, 如果將這個時間設定較短或較長,也取決於遊戲設計者的考量啦!因為有時也會影響遊戲的刺激度與耐玩度。
(接續 上面程式區塊2)

4.編輯遊戲玩法-怪物的移動
戲中的怪物怎麼移動? 最直覺就是比較 怪物與英雄的 XY 座標,怪物的 X 座標比英雄大,那就往左一格吧! 怪物的Y座標比英雄大,那就往下移一格! 這邊我們會加入IF(如果)的方塊去判斷,並用micro:bit 遊戲方塊移動位置。
(接續 上面程式區塊3)

5.編輯遊戲玩法-玩家的移動
在micro:bit中我們想要主角移動的話,傳統遊戲通常會有搖桿或鍵盤,這邊我們就克難地用 micro:bit 的XY 加速度計方向大小判斷英雄的移動方向,換句話說就是 當玩家左右或上下傾斜micro:bit 實體板時,英雄也隨之移動上下左右,這邊設定加速度季的參考值為+-200mg,避免玩家將電路板傾斜過大, 操控相對麻煩。
(接續 上面程式區塊4)

6.編輯遊戲玩法-玩家得分與新寶物放置
在這個hero遊戲中,玩家要得分就是邊躲避怪物的追趕,邊操控英雄去碰到寶物 (food),所以邏輯就是英雄拿到寶物(if Hero is touching Food),分數就加一分,那新的寶物怎麼放置? 最快的方法就是在(0,0)~(4,4)的位置隨機產生,但為了降低複雜度,我們選用(0,0)、(4,0)、(0,4)、(4,4) 這四個位置變化, 利用隨機產生的數字來作為依據。
注意!! 這段程式區塊會有兩個IF,各位朋友可以留意一下兩個IF的位置,外圍IF 為touch 判斷,裡面那個為新的寶物位置判斷,英雄要先拿到寶物之後,才會有新寶物位置的問題~
(接續 上面程式區塊5)

7.編輯遊戲玩法-遊戲結束機制
這個遊戲結束的機制就是 英雄碰到怪物, 遊戲就進入GAMEOVER 程序, 並顯示分數。
(接續 上面程式區塊6)

8.遊戲檔案下載
以上就是Hero這遊戲的寫法與教學,如果各位朋友有興趣研究一下,可以直接下載Hex玩玩,連結如下:
https://drive.google.com/open?id=13pFL0ke68K8wBGUfiTQgFDp13LIxkGj2
在玩的過程中,如果有問到問題,也歡迎在下面留言給我 ~