| 快速學會microbit | ep13 microbit Hero 遊戲(Game Block)

還記得上集說的 microbit Hero遊戲設計基本概念嗎?忘了沒關係,讓吉米哥為各位朋友再次複習, 我們也可以照著這個步驟一一寫出這個有趣的遊戲。

1.建立遊戲角色與位置

關於這個Hero這個遊戲,我們需要三個角色,英雄(Hero)怪物(Ghost)寶物(Food),這部分可以在啟動方塊內先寫好;在創造角色的同時, 也要設定好該角色的初始位置。

microbit hero

2.設定角色顯示方式

在創造角色後,為了讓玩家可以清楚知道三個角色分別的位置,所以利用亮度的不同來區分三個角色。

(接續 上面程式區塊1)

microbit hero

3.編輯遊戲玩法-無限迴圈加暫停

了讓遊戲可以在開始後持續運行,並讓遊戲有一定的反應時間,我們加入while 無限迴圈,並在迴圈內放置暫停方塊。

或許有朋友在為何要加入暫停方塊這部分不是很瞭解,其實就是我們加入while迴圈後,micro:bit 程式便會不停的運算所設計的遊戲玩法,但如果我們沒有加入暫停的方塊在裡面時,猜猜會發生什麼事呢? 答案就是會不斷的出現 GAME OVER~~

所以加入暫停方塊的用意就是遊戲玩法的程序每執行一次運算時,小小暫停一下500ms,讓人類玩家可以有一些反應時間進行英雄的移動,當然換句話說, 如果將這個時間設定較短或較長,也取決於遊戲設計者的考量啦!因為有時也會影響遊戲的刺激度與耐玩度。

(接續 上面程式區塊2)

microbit hero

4.編輯遊戲玩法-怪物的移動

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

(接續 上面程式區塊3)

microbit hero

5.編輯遊戲玩法-玩家的移動

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

(接續 上面程式區塊4)

microbit hero

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)

microbit hero

7.編輯遊戲玩法-遊戲結束機制

這個遊戲結束的機制就是 英雄碰到怪物, 遊戲就進入GAMEOVER 程序, 並顯示分數。

(接續 上面程式區塊6)

microbit hero

8.遊戲檔案下載

以上就是Hero這遊戲的寫法與教學,如果各位朋友有興趣研究一下,可以直接下載Hex玩玩,連結如下:

https://drive.google.com/open?id=13pFL0ke68K8wBGUfiTQgFDp13LIxkGj2

在玩的過程中,如果有問到問題,也歡迎在下面留言給我 ~

發佈留言

Close Menu