任務目標
透過 Micro:bit 上透過搖晃取得骰子點數並顯示於 LED。
學習目標
- 遙動偵測
- 條件判斷
- 變數
- 亂數產生
- 迴圈
- LED 顯示與清空
- 暫停
- Blockly 語法
- Python 語法
前置準備
- 一台電腦
- 覽瀏器 ( 本範例使用 Chrome )
使用料件
- Micro:bit
- Micro USB Cable
電子骰仔程式邏輯
當偵測到搖動時
隨機產生 1 ~ 6 之間的數
如果隨機數等於 1,則
LED 顯示 1 點
否則如果隨機數等於 2,則
LED 顯示 2 點
否則如果隨機數等於 3,則
LED 顯示 3 點
否則如果隨機數等於 4,則
LED 顯示 4 點
否則如果隨機數等於 5,則
LED 顯示 5 點
其他情況
LED 顯示 6 點
電子骰仔程式撰寫
一、Blockly 語法
Step 1. 開啟線上編輯器
❖ 1.1 開啟瀏覽器並輸入下方網址
https://makecode.microbit.org/#
Step 2. 撰寫 Blockly 程式
❖ 2.1 依電子骰仔程式邏輯進行 Blockly 程式撰寫
※ 程式說明 ※
【 當手勢發生晃動 】方塊:代表使用者要執行此區塊中的程式
【 變數 設為 】方塊:宣告一個 randomNo 的變數,並透過亂數產一 1 ~ 6 間的數
【 如果 那麼 】方塊:依 randomNo 的變數值顯示相對應的點數於 LED 上
Step 3. 燒錄程式到 Micro:bit
❖ 3.1 ① 將所撰寫的程式命名
② 儲存所撰寫的 Blockly 程式到電腦中
③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
④ 在 Micro:bit 上進行測試
Step 4. 成果
透過 Micro:bit 上透過搖晃取得骰子點數並顯示於 LED
二、Python 語法
Step 1. 開啟線上編輯器
❖ 1.1 開啟瀏覽器並輸入下方網址
https://python.microbit.org/v/1
Step 2. 撰寫 Python 程式
❖ 2.1 依電子骰仔程式邏輯進行 Python 程式撰寫
※ 程式說明 ※
第 1 行:程式注解最前面以 【 # 】字符號代表,注解請勿使用中文
第 2 行:匯入 micro:bit 套件
第 3 行:在 LED 上顯示【 - 】
第 7 行:① 【 while 】代表 Pyhton 的迴圈,
True 代表條件為真、False 代表條件為假,
此行代表 【 持續不斷執行的迴圈 】
② 以【 : 】做結尾
第 8 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈中的事件
② 如果偵測到晃動
③ 以【 : 】做結尾
第 9 行:① 以 【 Tab 】 鍵為縮排代表是在偵測到晃動的事件
② 清空畫面
第 10 行:① 以 【 Tab 】 鍵為縮排代表是在偵測到晃動的事件
② 暫停 1 秒鐘,
1000 毫秒 ( milliseconds ) = 1 秒 ( seconds )
第 11 行:① 以 【 Tab 】 鍵為縮排代表是在偵測到晃動的事件
② 在 LED 上顯示點數
第 12 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈中的事件
② 暫停 0.01 秒鐘,
10 毫秒 ( milliseconds ) = 0.01 秒 ( seconds )
Step 3. 燒錄程式到 Micro:bit
❖ 3.1 ① 將所撰寫的程式命名
② 儲存所撰寫 Python 的 hex 程式到電腦中
③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
④ 在 Micro:bit 上進行測試
Step 4. 成果
透過 Micro:bit 上透過搖晃取得骰子點數並顯示於 LED
GitHub
【 GitHub Blockly 】 https://github.com/ArcherHuang/Micro-bit/tree/master/Game/Blockly
【 GitHub Python 】 https://github.com/ArcherHuang/Micro-bit/tree/master/Game/Python
【 Name 】 microbit-Dice