2-5 Lesson 05. Truth or Dare (真心話大冒險)
概述:
課程的第五個專案,在教導學生利用 Micro:bit 使用多重編碼的方式透過程式積木 Coding 的方法。輸入後,程式的陳述式會隨機產生一個 truth or dare 顯示在螢幕上,並透過LEDs 選擇遊戲者。
真心話大冒險是一種遊戲,又稱誠實與大膽、Truth or Dare、True or Dare,可以由二人或多人參與。
若兩個遊戲者時,兩位遊戲者通過猜拳比試,或輪流擔任勝者和負者,負者必須二選一,選擇「真心話還是大冒險」。(維基百科)
- 五分鐘課程計畫 (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。
學生將具備的能力
- 同時運行兩個程式Blocks。
- 建立隨機產生的變數。
- 能使用if... then...else (如果...那麼...否則) 條件判斷式。
- 在 LEDs 上顯示個別的圖案。
課程挑戰目標
基於此專案延伸的任務挑戰目標。
- 在遊戲中添加玩家的數量並顯示誰在玩。
- 添加不同方向的箭頭。
- 添加一個箭頭旋轉的動畫。
- 添加一個是否完成真心話大冒險的計分系統。
Step by Step
這個 Program 利用旋轉 Micro:bit 後,利用箭頭選擇玩家,玩家在按下 Micro:bit 的按鍵A後,進行真心話大冒險。
第一個步驟,即是創建箭頭。從 “程式積木區” 選單中的“基本” 積木中,選擇 “顯示 指示燈 (Show LEDs)” 積木。
將 “顯示 指示燈 (Show LEDs)” 積木拖拉到程式編輯工作區,然後按一下要點亮的框來繪製圖案。紅色指示燈亮著(本範例是箭頭;如下圖)。
為了確保LED始終恆亮,所以我們將 “顯示 指示燈 (Show LEDs)” 積木放置在一個 "重複無限次" 的迴圈中。(如下圖)
接下來,Program 的下一個階段,我們將設計一個當按下按鍵,進行真心話大冒險。
從 “程式積木區” 選單中的 “輸入” 積木中選擇 “ 當 A 鍵被按下” 積木並拖拉到程式編輯工作區。
從變數積木中選擇 "建立一個變數",並設定積木名稱為"Random"
將程式積木區中 "變數" 積木的 "變數 item 設為0" 的積木拖拉至程式編輯區。
變更積木中 "item" 的名稱為 "Random"。
再將程式積木區中 "數學" 積木的 "Pick Random 0 to 4" 的積木拖拉至"變數 item 設為0" 的積木後方,取代積木 "0"。
將 "Pick Random 0 to 4" 積木中的 "4" 變更為 "1"。(如下圖)
接著,將程式積木區中 "邏輯" 積木的 "如果...那麼...否則 (if...then...else)" 積木拖拉至程式編輯區,堆疊在 上一個積木下方。
同時將程式積木區中 "邏輯" 積木的運算式 "0=0" 積木拖拉堆疊至"如果...那麼...否則 (if...then...else)" 積木中,將變數積木 "Random" 取代第一個 "0" 。(如下圖)
最後,將程式積木區中 "基本" 積木的 "顯示 文字 Hello" 積木拖拉堆疊至"如果...那麼...否則 (if...then...else)" 積木中,第一個積木堆疊在 "那麼" 的區塊中,變更文字為 "Truth!"
重複上一個步驟,將積木堆疊至 "否則" 區塊中,變更文字為 "Dare!"。(如下圖)
程式完成,可以下載並儲存至 Micro:bit 中,觀察實際執行結果。