教學原文參考:猴子接香蕉
這篇文章會介紹如何使用「創建角色」、「角色是否碰到其他角色」、「當按鈕按下」、「變數」、「重複判斷」、「計次迴圈」等積木,實作一個猴子接香蕉的 LED 燈小遊戲。
相關文章參考:創建角色、角色是否碰到其他角色、當按鈕按下、變數、重複判斷。
猴子接香蕉是一個簡單的小遊戲,遊戲開始後,會有「香蕉」不斷從上方掉落,使用者需要操縱「猴子」在下方左右移動接香蕉,如果香蕉到地面上就輸了。使用 micro:bit 的遊戲操作步驟如下:
- AB 按鈕同時按下,開始遊戲。
- 遊戲開始後,下方出現「猴子」角色 LED,上方出現「香蕉」角色 LED 掉落 ( 亮度較暗 )。
- 按下 A 按鈕,猴子角色往左移動。
- 按下 B 按鈕,猴子角色往右移動。
- 猴子碰到香蕉,就得分。
- 香蕉掉落地面,遊戲結束,出現最後總得分。
首先設定按鈕控制猴子移動的程式:
完成後,啟動 micro:Bit,按下 A 按鈕或 B 按鈕,控制下方猴子燈號移動。
接著設計遊戲開始程式:
香蕉掉落程式:
完成後,啟動 micro:Bit,同時按下 AB 按鈕,就會出現香蕉不斷的從上而下掉落。
接著設計「猴子吃到香蕉」的程式:
完成後,啟動 micro:Bit,如果 monkey 碰到 banana 就會得分,並且出現得分動畫效果。
修改香蕉掉落的程式,加入沒有吃到香蕉時,就表示遊戲結束的程式:
最後,在按下 A+B 按鈕的積木裡,新增「清空畫面」以及「遊戲繼續」的積木。
完成後,啟動 micro:Bit,按下 AB 按鈕,就可以開始進行猴子接香蕉的遊戲。
範例解答:猴子接香蕉
為什麼要使用兩個「重複無限次」呢?
因為如果把「香蕉掉落」和「接香蕉」的程式放在一起,會被香蕉掉落的「延遲時間」影響,造成程式較為複雜且不容易管理,所以將程式分開,觀念上也比較容易理解。
為什麼要使用「遊戲繼續」和「遊戲暫停」呢?
因為 MakeCode 遊戲積木裡的「遊戲結束」功能,會讓整塊 micro:bit 功能停止運作,必須重新啟動才能繼續遊戲,且創立角色後,角色會影響 LED 所有的顯示畫面,使用了遊戲暫停就能避免這種情況發生。
大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!