遊戲積木
micro:bit 的遊戲積木預設了簡單的遊戲機制,可以創建一個角色並賦予角色生命值,透過角色的移動和碰撞,進行遊戲計分或增減角色生命值,輕鬆實作簡單的 micro:bit LED 小遊戲。
遊戲積木有幾個分類:創建角色、刪除角色、如果角色被刪除、角色移動、角色旋轉、設定角色狀態、讀取角色狀態、角色是否碰到其他角色、角色是否碰到邊緣、角色碰到邊緣就反彈、生命設定、得分設定、開始倒數、遊戲結束 / 繼續 / 暫停、遊戲狀態。
創建角色
「創建角色」積木可以在指定的 LED 矩陣座標裡,建立一個「角色」,角色在畫面中就是一顆亮起的 LED 燈, 「需要搭配變數積木」才能使用。
下圖的例子在 micro:bit 啟動後,使用變數 sprite 建立一個位在 (2,2) 的角色,在 LED 的正中間就會亮起一顆燈。
刪除角色
「刪除角色」積木可以刪除角色,刪除角色後,角色在 LED 的顯示燈號就會消失。
如果角色被刪除
「如果角色被刪除」積木是一個邏輯判斷積木,可以顯示角色是否被刪除,如果角色已經被刪除就是 true,如果角色尚未被刪除就是 false。
角色移動
「角色移動」積木可以讓角色在畫面中移動,預設水平方向移動,向右為正,向左為負,如果搭配「角色旋轉」積木,可以往其他方向移動。
下圖的例子,micro:bit 啟動後會再 (2,2) 的位置建立角色,按下 A 按鈕時角色會往左邊移動,按下 B 按鈕時角色往右邊移動。
角色旋轉
「角色移動」積木可以指定角色向右或向左旋轉的角度,每 45 度為一個區間,可分成 0、45、90、135、180、225、270、315...等,依此類推。
下圖的例子,micro:bit 啟動後會再 (2,2) 的位置建立角色,並先讓角色「向右旋轉 45 度」,按下 A 按鈕時角色就會往左上角移動,按下 B 按鈕時角色就會往右下角移動。
設定角色狀態
「設定角色狀態」積木可以設定或改變角色的 x 座標、y 座標、亮度和閃爍的數值 ( 使用「改變」會從當前數值進行增加或減少 )。
- x 座標:水平方向座標,範圍 0~4。
- y 座標:垂直方向座標,範圍 0~4。
- 方向:旋轉角度,建議每 45 度為一個區間。
- 亮度:角色的 LED 燈亮度,範圍 0~255,0 最暗,255 最亮。
- 閃爍:角色的 LED 閃爍速度,單位是毫秒 ( 1/1000 秒 ),設定 0 則角色恆亮,不會閃爍。
下圖的例子,micor:bit 創建角色後,點擊 A 按鈕會設定角色亮度為 10,點擊 B 按鈕設定角色亮度為 255。
讀取角色狀態
「讀取角色狀態」積木可以讀取角色的 x 座標、y 座標、亮度和閃爍的數值。
角色是否碰到其他角色
「角色是否碰到其他角色」積木可以偵測兩個角色是否互相碰到 ( 兩個角色座標相同 ),如果有碰到就是 true,沒有碰到就是 false。
下圖的例子,micor:bit 啟動後會用 a 和 b 兩個變數建立兩個角色 ( b 角色亮度較暗 ),按下 A 按鈕時角色 a 會往左移,按下 B 按鈕時角色 a 會往右移,透過重複無限次積木,判斷當 a 碰到 b 時讓 a 閃爍,如果沒有碰到則停止閃爍。
角色是否碰到邊緣
「角色是否碰到邊緣」積木可以偵測角色是否碰到邊緣,左右邊緣的 x 座標為 0 和 4,上下邊緣的 y 座標為 0 和 4。
下圖的例子,micor:bit 啟動後會建立一個角色 a,按下 A 按鈕時角色 a 會往左移,按下 B 按鈕時角色 a 會往右移,透過重複無限次積木,判斷當 a 碰到邊緣時就會閃爍,如果沒有碰到則停止閃爍。
角色碰到邊緣就反彈
「角色碰到邊緣就反彈」積木可以偵測角色在「移動時」是否碰到邊緣,如果有碰到,就進行反彈的動作。
下圖的例子,micor:bit 啟動後會建立一個角色 a,向右旋轉 45 度,透過重複無限次積木,讓 a 每 100 毫秒移動 1 點,並設定碰到邊緣就反彈。
生命設定
「生命設定」積木可以設定角色的「生命」,並可以透過一些遊戲機制,「增加生命」或「減少生命」,當「生命為 0」的時候,LED 就會「自動出現」 GAME OVER 的文字跑馬燈,並且顯示分數,表示遊戲結束。
下圖的例子,micor:bit 啟動後會用 a 和 b 兩個變數建立兩個角色 ( b 角色亮度較暗 ),以及生命設定為 1,按下 A 按鈕時角色 a 會往左移,按下 B 按鈕時角色 a 會往右移,判斷當 a 碰到 b 時讓生命減少 1,如果生命為 0 就會自動出現 GAME OVER 跑馬燈動畫。
得分設定
「得分設定」積木可以設定角色的「得分」,並可以透過一些遊戲機制改變 ( 增加或減少 ) 得分,預設當遊戲結束時,會自動顯示得分,也可以設計手動的方式 ( 例如按下按鈕 ),顯示得分 ( 顯示得分過一秒之後,會再度回到遊戲畫面 )。
下圖的例子,micor:bit 啟動後會用 a 和 b 兩個變數建立兩個角色 ( b 角色亮度較暗 ),以及分數設定為 0,按下 A 按鈕時角色 a 會往左移,按下 B 按鈕時角色 a 會往右移,每次按下按鈕時,判斷當 a 碰到 b 時讓得分增加 1,AB 同時按下時,顯示分數。
開始倒數
「開始倒數」積木可以設定一段時間,並且開始倒數計時,時間單位是毫秒 ( 1/1000 秒 ),倒數結束後,LED 就會「自動出現」 GAME OVER 的文字跑馬燈,並且顯示分數。
注意,倒數結束表示「遊戲結束」,會停止 micro:bit 所有功能直到重新啟動。
下圖的例子,micor:bit 啟動後會用 a 和 b 兩個變數建立兩個角色 ( b 角色亮度較暗 ),以及分數設定為 0 並且開始倒數計時 10 秒 ( 10000ms ),按下 A 按鈕時角色 a 會往左移,按下 B 按鈕時角色 a 會往右移,每次按下按鈕時,判斷當 a 碰到 b 時讓得分增加 1,當倒數結束,就會顯示分數。
遊戲結束 / 繼續 / 暫停
「遊戲結束 / 繼續 / 暫停」積木可以設定遊戲狀態,「遊戲暫停」和「遊戲繼續」積木是在「更多」選單裡。
- 遊戲結束:結束遊戲,出現跑馬燈動畫以及顯示分數 ( 遊戲結束會讓所有功能停止運作,直到重啟 micro:bit )。
- 遊戲暫停:所有遊戲動作暫停 ( 但還是會繼續倒數 )
- 遊戲繼續:取消暫停,繼續遊戲動作。
遊戲狀態
「遊戲狀態」積木可以以邏輯 true 或 false 的方式,表現遊戲目前的狀態。
- 遊戲已經結束:遊戲結束 ( true ),遊戲尚未結束 ( false )。
- 遊戲暫時停止:遊戲暫停 ( true ),遊戲正在運行 ( false )。
- 遊戲正在運行:遊戲正在運行 ( true ),遊戲暫停 ( false )。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~