搜尋

陣列積木

陣列就像是一個有很多抽屜的櫃子,每個抽屜都有自己的編號,每個抽屜也都可以存放資料,micro:bit 的陣列積木可以針對陣列的資料,進行建立、添加、讀取、替換或刪除的動作,或是取出特定編號的資料。

陣列積木有幾個分類:建立陣列陣列長度取得項目取得並移除項目取得隨機值設定項目添加項目插入項目移除項目取得索引值反轉陣列

建立陣列

「建立陣列」積木可以將多筆資料建立為陣列,陣列內容可以是數字、文字、陣列、變數或邏輯的組合,積木清單預設提供數字陣列、文字陣列以及空陣列。

陣列資料項目超過一定數量時,陣列會切換為垂直顯示。

micro:bit - 陣列積木 ( 建立陣列 )

陣列長度

「陣列長度」積木會顯示目前的陣列長度,如果陣列裡有三個元素 ( 空格不算 ),長度就會是 3。

micro:bit - 陣列積木 ( 陣列長度 )

下圖的例子,micro:bit 啟動時建立一個三個元素的陣列 ( 空格不算 ),LED 顯示的陣列長度就是 3。

micro:bit - 陣列積木 ( 陣列長度 ) - 建立一個三個元素的陣列

取得項目

「陣列長度」積木可以取得陣列某個項目的值。

注意!「取得第一個值自...」積木會將第一個項目移除 ( 造成第二個項目變成第一個項目 )。

micro:bit - 陣列積木 ( 取得項目 )

「索引值」表示陣列裡項目的位置,第一個項目索引值從 0 開始

micro:bit - 陣列積木 ( 取得項目 ) - 第一個項目索引值從 0 開始

如果要取得「最後一個項目」的值,索引值使用「陣列長度 - 1」就可以取得。

micro:bit - 陣列積木 ( 取得項目 ) - 陣列長度 - 1

下圖的例子,micro:bit 啟動時會建立一個 1、2、3 的數字陣列,並透過 LED 顯示索引值 1 的內容,就會顯示 2。

micro:bit - 陣列積木 ( 取得項目 ) - 建立一個 1、2、3 的數字陣列

取得並移除項目

「取得並移除項目」積木跟「取得項目」類似,只是取得陣列某個項目的值之後,會從陣列中移除這個項目 ( 陣列長度會縮短 1 )。

micro:bit - 陣列積木 ( 取得並移除項目 )

取得隨機值

「取得隨機值」積木可以從陣列中取出一個隨機的項目

micro:bit - 陣列積木 ( 取得隨機值 )

「取得隨機值」積木使用後,效果等同於使用隨機數的數學積木進行取值。

micro:bit - 陣列積木 ( 取得隨機值 ) - 使用隨機數的數學積木進行取值

設定項目

「設定項目」積木可以將陣列中某個索引值的項目內容,更換成另外的內容

micro:bit - 陣列積木 ( 設定項目 )

下圖的例子,micro:bit 啟動時會建立一個 1、2、3 的數字陣列,接著將索引值 1 的內容換成 8,最後 LED 就會顯示 8。

micro:bit - 陣列積木 ( 設定項目 ) - 建立一個 1、2、3 的數字陣列

添加項目

「添加項目」積木可以在陣列的最後方,添加一個項目 ( 陣列長度增加 1 )。

micro:bit - 陣列積木 ( 添加項目 )

插入項目

「插入項目」積木可以在陣列的第一個或指定索引值項目,插入一個新的項目 ( 陣列長度增加 1 )。

micro:bit - 陣列積木 ( 插入項目 )

下圖的例子,micro:bit 啟動時會建立一個 1、2、3 的數字陣列,接著將內容為 8 的項目插入在最前面,LED 顯示陣列第一個值就會是 8。

micro:bit - 陣列積木 ( 插入項目 ) - 將內容為 8 的項目插入在最前面

移除項目

「移除項目」積木可以移除陣列的第一個、最後一個或指定索引值的項目 ( 陣列長度減少 1 )。

micro:bit - 陣列積木 ( 移除項目 )

取得索引值

「取得索引值」積木取得某一個項目的索引值。

micro:bit - 陣列積木 ( 取得索引值 )

反轉陣列

「反轉陣列」積木可以將陣列中所有項目反轉,原本在第一個的元素會變成最後一個。

micro:bit - 陣列積木 ( 反轉陣列 )

下圖的例子,micro:bit 啟動時會建立一個 1、2、3 的數字陣列,接著將陣列反轉,LED 顯示陣列第一個值就會是 3。

micro:bit - 陣列積木 ( 反轉陣列 ) - 反轉,LED 顯示陣列第一個值就會是 3

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

micro:bit 教學

基本介紹

關於 micro:bit micro:bit 硬體規格 micro:bit 開發方式 使用 MakeCode 開始控制 micro:bit

程式積木

基本 輸入 輸入 ( V2 ) 輸入 ( 更多 ) 音效 音效 ( V2 ) 燈光 燈光 ( 更多 ) 廣播 廣播 ( 更多 ) 迴圈 邏輯 變數 數學

進階積木

函式 陣列 文字 圖像 遊戲 引腳 引腳 ( 更多、V2 ) 控制 序列

擴展積木

超音波 ( 偵測距離 ) 溫濕度 伺服馬達 紅外線接收 紅外線發射 MAX7219 點矩陣 LCD1602 顯示器 OLED1306 顯示器 TM1637 七段顯示器

入門範例

跳動的心 簡單煙火動畫 倒數計時放煙火 改變動畫預設時間 剪刀石頭布 ( 按鈕 ) 搖骰子 一直向下的箭頭 指北針 長條圖顯示亮度 光影魔術手 愛心呼吸燈 愛心小夜燈 按鈕秀文字 按鈕計數器 晃動計步器 顯示隨機圖案 空中傳愛 ( 廣播 ) 超時空跑馬燈 ( 廣播 ) 長條圖顯示音量 ( V2 ) 拍手換圖案 ( V2 ) 亮度樂器 ( V2 ) 翻轉大黃蜂音效 ( V2 )

燈光範例

燈光繞圈 ( 座標 ) 燈光繞圈 ( 數字函式 ) 循環霹靂燈 依序點燈 ( 座標 ) 依序點燈 ( 數字函式 ) 隨機不重複的燈 按鈕依序開關燈 平衡燈 ( 姿勢 ) 平衡燈 ( 旋轉感測 ) 陣列點燈 ( 顯示圖形 ) 陣列點燈 ( 動畫 ) 移動速度不同的燈

遊戲範例

小瑪莉遊戲機 射擊幽浮 記憶大考驗 翻轉吃豆子 猴子接香蕉 老鼠走迷宮 吃角子老虎機 太鼓達人 貪吃蛇 心電感應 ( 廣播 )

電子元件範例

閃爍的 LED 燈 全彩 LED 光線變化 長條圖顯示土壤濕度 小夜燈 ( 光敏電阻 ) LED 顯示溫濕度 LCD1602 顯示溫濕度 超音波倒車雷達 七段顯示器顯示距離 人體紅外線偵測 旋鈕控制 LED 亮度 電流急急棒 OLED 繪製數學圖形 OLED 顯示手繪圖案 觸碰開燈 ( 引腳按下 ) 觸碰開燈 ( 類比訊號 ) 水果鋼琴 ( 類比訊號 )

MoonCar 自走車

MoonCar 教學導讀 關於 MoonCar 自走車 程式積木介紹 控制移動和轉彎 七彩魔幻 LED 超音波隔空推車 超音波倒車雷達 超音波隔空彈鋼琴 超音波自動避障 偵測和辨識顏色 辨識顏色+演奏音樂 辨識顏色+控制移動 紅外線遙控器控制移動 micro:bit 廣播遙控 趨光性自走車 指北車 ( 永遠轉向北方 ) 循跡自走車 循跡自走車+辨識顏色 聽到聲音就移動 ( V2 )

EZStartKit 擴充板

EZ Start Kit 教學導讀 關於 EZ Start Kit+ 程式積木介紹 LED 基本控制 LED + 按鈕開關 LED + 可變電阻 LED 光感應小夜燈 RGB LED 基本控制 RGB LED + 紅外線遙控器 OLED 顯示文字與數字 OLED 顯示動態數字 OLED 文字跑馬燈 OLED 繪製圖形 OLED 繪製正弦波圖形 OLED 倒數計時器 OLED 顯示手繪圖案 繼電器 + 紅外線遙控器