按鈕依序開關燈
這篇文章會延續「依序點燈」一文,搭配「按鈕按下」、「函式參數」積木,做出按下按鈕 A 就依序亮燈,按下按鈕 B 就反向依序關燈的效果。
積木程式原理
開啟「依序點燈」文章裡面的範例解答,使用範例積木繼續編輯 ( 開啟後點擊上方 Edit Code 按鈕 )。
範例連結:依序點燈
將滑鼠移到「定義函式」積木上方,按下右鍵,點選編輯函式。
將函式新增一個「布林值」參數,命名為「關燈」。
在函式的下方,放入「如果...否則...那麼」積木,判斷如果關燈為 true 就不點亮這個 LED,如果關燈為 false 就點亮這個 LED。
接著要放入按鈕的程式,步驟如下:
- 移除「重複無限次」積木與內容
- 新增「當按鈕 A 被按下」,設定按下 A 按鈕時,先讓 n 增加 1,再點亮第 n 顆燈。
- 新增「當按鈕 B 被按下」,設定按下 B 按鈕時,先熄滅第 n 顆燈,再將 n 減少 1。
- 新增「當按鈕 A+B 被按下」,設定 AB 同時按下時,清空畫面並且將 n 歸零。
完整得程式積木長相如下:
micro:bit 啟動之後,按壓 A 或 B 按鈕,就可以看到燈號依序亮起或關閉的效果。
範例解答
範例解答:按鈕依序開關燈
延伸練習
如果已經熟悉了按鈕依序開關燈的原理,還可以嘗試更多好玩的作法:
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~