2-4 Lesson 04. Die Roll (電子骰子)
概述:
第四個專案課程,將為學生介紹如何利用 if... then...else 條件判斷式,進行個別 LEDs 控制。
- 五分鐘課程計畫 (pdf)(pptx)
- 教師手冊 (pdf)(docx)
- 白板資源 (pptx)
- 學生功課表_Worksheet (docx)
- 範例檔:Hex File (Tip: Save link for Mac, Save target for PC)
教學內容:
教學目標
- 可以利用 if 陳述式和簡單迴圈(loop)的演算法概念設計程式。 (AL)
- 學會宣告和賦值變數。 (AB)
- 在迴圈中使用變數和關係運算子來控制終止。 (AL) (GE)
- 使用邏輯推理來預測結果。 (AL)
- 發現和糾正錯誤,調整系統的規則。 (AL)
- 利用演算法創造實現給定的目標程式。 (AL)
- 能理解程式設計是解決問題方案和電腦之間的橋樑。 (AB)
- 能使用單向、雙向、多向、巢狀判斷陳述式。(AL)
Computational Thinking Concept:
AB=Abstraction; DE=Decomposition;AL=Algorithmic Thinking;EV=Evaluation;GE=Generalisation。
學生將具備的能力
- 使用手勢(動作)輸入指令控制 Micro:bit。
- 建立隨機產生的變數。
- 能使用if... then...else (如果...那麼...否則) 條件判斷式。
- 在 LEDs 上顯示個別的圖案。
課程挑戰目標
基於此專案延伸的任務挑戰目標。
- 在原有固定面的骰子上添加滾動動畫。
- 允許使用者依據不同的情況,顯示不同的骰子,即6面,8面或12面。
Step by Step
這是一個允許使用者藉由搖動 Micro:bit 來決定骰子數目的程式。
在 JavaScript Blocks editor 「輸入」的程式積木區塊中,找到 "當搖動 ( On shake )" 的積木,並將它拖拉至「程式碼編譯介面」(程式編輯區)
在積木塊工作表上,“當...” 的下拉區塊可以被更改為一些手勢,例如:向左或向右傾斜。在這個項目中,我們選擇 "搖動" 做為選項。(如下圖)
現在你的 Program 會對跟隨輸入的動作做出反應,我們只需要對它做一個程式讓它執行。
將 "變數 item 設為 0" 重新命名為更合適的,如 “ROLL”。彈出框將允許您更改變數名稱。
現在,我們已經創建了一個名為 “ROLL” 的變數,我們需要在0到5之間選擇一個亂數,總共有6個不同的值。從程式積木區的選單中選擇 “數學” 的程式積木選項,然後選擇“Pick random 0 to 4” 積木。
拖拉 “Pick random 0 to 4” 積木到程式編輯區,並將積木連接到“變數 ROLL設為 0 ” 積木後方,替換“0”;並將“Pick random 0 to 4” 中的數值4 變更為 5。現在這個程式將在每次 Micro:bit 被搖動時選擇一個0到5之間的亂數。號碼存儲在變數 “ROLL”。
現在 Micro:bit 需要根據 “ROLL” 變數顯示不同的結果。這就是所謂的選擇。在這種情況下,我們將利用 if... then...else (如果...那麼...否則) 條件判斷式。 Micro:bit 可以在邏輯程式積木選項,增加這個積木。
利用 if... then...else (如果...那麼...否則) 條件判斷式,設計一個多重的條件判斷 Program。
由於有6種可能的選項,所以需要再添加4個 “ else...if” 語句。這包含第一個 “if” 語句,4個 “else...if” 語句和最後的 “else” 語句,總共包含6個選項。
接下來,我們需要為 if 語句創建一個邏輯語句以允許選擇。所以我們需要再次從“邏輯”程式積木中選擇 “等於” 的積木。
拖拉 "等於"邏輯積木至程式編輯區中,放置在 if... then...else (如果...那麼...否則) 的積木後方,取代 "true" 積木。(如下圖)
在程式積木區中的 "變數" 積木中,將變數 "ROLL" 積木拖拉至程式編輯區中,放在 if... then...else (如果...那麼...否則) 語句中,取代等於前的數值 0;並且複製 "等於" 積木至 其他四個 "else...if" 語句中。(如下圖)
這個 Program 最後要呈現的是表現出一個骰子要有六個面項。接下來,我們將在程式積木區的"基本"項目中,選擇 LEDs 積木做為顯示 骰子六個面數目點數的工具。
將 “顯示led” 積木拖拉到程式編輯區並中,並將它放置於第一個 “if” 語句之下。(如下圖)
在淺藍色的正方形的中間按一下,您可以創建所需的模具圖案。本例為 "1" ,如下即可完成骰子點數 1 。
依據上一個方式,依序在其他四個 "else...if" 語句及最後的 "if" 語句中放入 "顯示 LEDs" 積木。(如下圖)
程式完成,可以下載並儲存至 Micro:bit 中,觀察實際執行結果。