教學原文參考:記憶大考驗
這篇文章會使用「陣列」積木,建立兩組燈號數據,搭配「函式」、「變數」、「點亮」、「[計次迴圈」和「邏輯判斷」等積木,在 micro:bit 實作一個找出光點出現在哪個位置的記憶大考驗遊戲。
貪記憶大考驗是一款簡單的小遊戲,遊戲開始時,畫面中會出現隨機的三個光點,兩秒後會消失,兩秒內使用者需要記住這三個光點的位置,光點消失後,使用者開始找出光點的正確位置,如果有找到 ( 位置正確 ) 則得分,沒找到 ( 位置錯誤 ) 則遊戲結束。
如果使用 micro:bit 實作,遊戲操作步驟如下:
- 同時按下 AB 按鈕,開始遊戲,畫面中出現三個光點。
- 兩秒後光點消失
- 按下 B 按鈕,會出現一個光點讓使用者移動。
- 按下 A 按鈕,會記錄使用者移動的光點的「位置」,或取消該位置。
- 位置都紀錄完畢後,按下 AB 按鈕,如果三個光點位置正確,得分增加 1,並開始下一題。
- 如果位置錯誤,顯示得分,遊戲結束 ( 按下 AB 按鈕可以重新開始 )。
一開始設計按下 A+B 按鈕讓遊戲開始的程式:
參考「依序點燈 ( 數字函式 )」文章,建立一個「點燈函式」。
接著建立「產生三個光點」的題目程式:
編輯「按下 B 按鈕」可以「移動光點」的程式:
編輯「按下 A 按鈕」可以「紀錄光點位置」的程式:
最後回到「按下 A+B 按鈕」,新增 run 等於 2 的判斷:
完成後,啟動 micro:bit,就能開始進行記憶大考驗的遊戲。
範例解答:記憶大考驗
要做出這個範例,需要先閱讀哪些文章?
可以先閱讀「依序點燈 ( 數字函式 )」和「按鈕依序開關燈」兩篇文章。
為什麼要使用「兩個」陣列呢?
因為對於遊戲的程式來說,讓陣列互相比對數值,是相當容易且不容易出錯的,所以才會使用題目一個陣列,使用者一個陣列,互相比對。
大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!