教學原文參考:射擊幽浮
這篇文章會介紹如何使用「建立遊戲角色」、「遊戲角色座標」、「遊戲角色碰撞」、「變數」、「[重複迴圈」、「邏輯判斷」等積木,在 micro:bit 實作一個射擊幽浮的射擊小遊戲。
射擊幽浮是一款簡單的射擊小遊戲,遊戲開始後,畫面上方會出現一個逐漸往下移動的 UFO,使用者需要操控下方砲塔發射炮彈阻止幽浮往下移動,當砲彈擊中幽浮,幽浮會消失並重新從上方出現,再次向下移動,若幽浮碰到地面,遊戲結束,顯示得分。
如果使用 micro:bit 實作,遊戲操作步驟如下:
- 同時按下 AB 按鈕,開始遊戲 ( 或重新遊戲 )。
- 按下 A 按鈕,控制砲塔向左移動。
- 按下 B 按鈕,控制砲塔向右移動。
- 遊戲開始後按下 AB 按鈕,可以發射炮彈。
- 砲彈擊中幽浮,得分加 1,幽浮再度從最上方隨機位置出現。
- 幽浮抵達地面,遊戲結束,顯示得分。
當啟動時,先定義遊戲啟動與遊戲角色的變數:
因為按下 AB 按鈕有兩種動作,一種是啟動遊戲,另一種是發射砲彈,所以程式要加入邏輯判斷:
接著設計按下 A 按鈕和 B 按鈕時,移動砲塔的程式:
新增一個重複無限次積木,製作砲彈移動的程式:
新增第二個重複無限次積木,製作砲彈打到幽浮的程式:
最後新增第三個重複無限次積木,製作幽浮往下移動的程式:
完成後,啟動 micro:bit,就可以開始進行設計幽浮的遊戲。
範例解答:射擊幽浮
為什麼要使用「遊戲角色」呢?
因為遊戲角色積木很適合處理「互相碰撞」的狀況,也可以很簡單的讓遊戲角色彼此不會互相干擾,對於同一個畫面裡,具有許多不同方向、不同移動速度的角色說,是相當方便的功能。
為什麼要使用「遊戲暫停」和「遊戲繼續」呢?
因為使用了「遊戲角色」,如果不將遊戲暫停,角色的 LED 燈會影響畫面顯示,進而造成得分無法順利顯示的狀況 ( 只會顯示一次就消失 )。
為什麼不使用內建的「遊戲得分」呢?
如果使用了內建的「遊戲得分」,顯示得分後會造成「遊戲結束」,然而內建的「遊戲結束」必須重新啟動 micro:bit 才能再次遊戲,所以在這個範例就不使用「遊戲得分」。
大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!