iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
自我挑戰組

micro:bit 從入門到精通系列 第 22

Day22 ( 遊戲設計 ) 小瑪莉遊戲機

小瑪莉遊戲機

教學原文參考:小瑪莉遊戲機

這篇文章會介紹如何使用「函式」、「邏輯判斷」、「當按鈕按下」、「變數」、「點亮」、「[計次迴圈」等積木,實作一個有趣又復古的的小瑪莉遊戲機。

相關文章參考:計次迴圈函式變數點亮邏輯判斷

遊戲方式

小瑪莉遊戲機是一款復古的博弈遊戲,使用者先在外圍選定一個燈號,遊戲開始後外圍中獎燈號開始移動,如果中獎燈號停下來與自選燈號重疊,則表示中獎,如果沒有重疊,則沒有中獎

如果使用 micro:bit 實作,遊戲操作步驟如下:

  • 按下 B 按鈕,在外圍設定自選燈號。
  • 按下 A 按鈕,中獎燈號開始移動 ( 此時按下 B 按鈕沒有反應 )。
  • 中獎燈號與自選燈號重疊,表示中獎。
  • 中獎燈號與自選燈號不重疊,表示沒中獎。
  • 同時按下 AB 按鈕,重新開始遊戲。

micro:bit - 小瑪莉遊戲機

積木程式原理

參考「燈光繞圈圈 ( 函式 )」一文的內容,開啟燈光在外圍繞圈的範例,從這個範例繼續修改。

範例:燈光繞圈圈 ( 函式 )

micro:bit - 小瑪莉遊戲機

因為遊戲中會有亮度不同的燈號,所以要在亮燈的函式裡,新增亮度參數,將滑鼠移到函式積木上方,按下右鍵,點選「編輯函式」。

micro:bit - 小瑪莉遊戲機

點選上方「數字」按鈕,替函式增加數字的參數,並將名稱命名為「亮度」。

micro:bit - 小瑪莉遊戲機

添加函式參數後,將原本函式裡的「點亮」積木,改成「具有亮度」的點亮積木。

舉有亮度的積木在「燈光 ( 更多 )」裡,參考:點亮...亮度

micro:bit - 小瑪莉遊戲機

修改「當啟動時」的積木內容,新增 a、b、play 三個變數:

  • 變數 a:中獎燈號,預設 1。
  • 變數 b:自選燈號,預設 1。
  • 變數 play:判斷中獎燈號是否正在移動,預設 0 ( 0 表示沒有移動,1 表示正在移動 )。

micro:bit - 小瑪莉遊戲機

將原本「重複無限次」的程式,改成「當按鈕 B 被按下」:

  • 放入「如果 play = 0 那麼」的邏輯判斷積木。
  • 將原本的程式放入 play = 0 的邏輯判斷裡。
  • 點燈的亮度設為 255。

micro:bit - 小瑪莉遊戲機

新增「當按鈕 A 被按下」時,中獎燈就開始移動的程式:

  • 當按鈕 A 被按下時,變數 play 設定為 1,讓按下 B 按鈕失去作用。
  • 放入「重複...次」迴圈,重複 100~116 次
  • 每次重複執行讓中獎燈號往前移動。
  • 每次重複持續顯示自選燈號,但將自選燈號亮度調暗為 50
  • 重複結束後,判斷 a 是否等於 b,如果 a、b 相等,表示中獎

micro:bit - 小瑪莉遊戲機

最後新增「當按鈕 A+B 按下」的程式,當 AB 按鈕按下時,將變數 a、b 和 play 設定為預設值,並清空畫面。

micro:bit - 小瑪莉遊戲機

完成後,啟動 micro:bit,就可以開始玩小瑪莉遊戲機了。

micro:bit - 小瑪莉遊戲機

範例解答

範例解答:小瑪莉遊戲機

延伸練習

如果已經熟悉了小瑪莉遊戲機的原理,還可以嘗試更多好玩的作法:

  • 嘗試讓中獎燈出發時速度較快,接著越跑越慢 ( 解答 )。

關於我

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day21 ( 高級 ) 心電感應 ( 廣播 )
下一篇
Day23 ( 遊戲設計 ) 射擊幽浮
系列文
micro:bit 從入門到精通46

尚未有邦友留言

立即登入留言