2-4 Lesson 04. Die Roll (電子骰子)

概述:

第四個專案課程,將為學生介紹如何利用 if... then...else 條件判斷式,進行個別 LEDs 控制。

教學內容:

教學目標

  1. 可以利用 if 陳述式和簡單迴圈(loop)的演算法概念設計程式。 (AL)
  2. 學會宣告和賦值變數。 (AB)
  3. 在迴圈中使用變數和關係運算子來控制終止。 (AL) (GE)
  4. 使用邏輯推理來預測結果。 (AL)
  5. 發現和糾正錯誤,調整系統的規則。 (AL)
  6. 利用演算法創造實現給定的目標程式。 (AL)
  7. 能理解程式設計是解決問題方案和電腦之間的橋樑。 (AB)
  8. 能使用單向、雙向、多向、巢狀判斷陳述式。(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 中,觀察實際執行結果。

程式範例:https://makecode.microbit.org/_EzufFj24vb0k

results matching ""

    No results matching ""