搜尋

清單積木 ( Lists Blocks )

清單就是程式語言裡的「陣列」,清單就像是一個有很多抽屜的櫃子,每個抽屜都有自己的編號,每個抽屜也都可以存放資料,清單積木 Lists Blocks 可以針對清單的資料,進行建立、添加、讀取、替換或刪除的動作,或是取出特定編號的資料。

清單積木有幾個分類:建立清單添加插入替換刪除取得清單內容判斷是否包含顯示 / 隱藏

建立清單

點擊選單裡「建立一個清單」的按鈕,會彈出一個新增清單對話視窗,可以輸入清單的名稱,並選擇「適用於所有角色」還是「僅適用於當前角色」。

  • 適用於所有角色:全域清單,所有的角色都能使用、編輯這個清單。
  • 僅適用於當前角色:區域清單,只有當前角色能使用、編輯這個清單。

Scratch 教學 - 變數積木 Variables Blocks - 建立清單

清單建立後,在積木選單會出現這個清單的積木,同時在舞台上也會出現清單的方框,該方框可以藉由「清單...顯示」或「清單...隱藏」積木,來控制是否顯示。

Scratch 教學 - 變數積木 Variables Blocks - 建立清單

新建立的清單是一個空的清單 ,內容沒有任何項目 ( 會顯示 empty,長度 0 ),點擊舞台上的清單方框左下的「 + 按鈕」可以增加項目,每個項目都可以編輯內容,點擊每個項目後方的「 x 按鈕」可以刪除該項目。

Scratch 教學 - 變數積木 Variables Blocks - 建立清單

Scratch 的清單最多支援 20 萬個項目,因此可以使用「匯入 / 匯出」的功能來處理大量資料:

  • 匯入:匯入純文字 TXT 或 CSV 格式的檔案,匯入的內容以「換行」為每個項目的分隔 ( row、列 ),一行代表一個項目,項目內逗號為每個項目的內容分隔 ( column、欄 )
  • 匯出:匯出純文字 TXT 格式的檔案。

舉例來說,如果要匯入下方的內容,匯入時 Scratch 就會詢問「該使用哪一欄」,選擇指令欄位,就會匯入資料。

Scratch 教學 - 變數積木 Variables Blocks - 清單匯入與匯出

添加

「添加...到清單」積木,可以添加指定內容的項目到清單裡。

Scratch 教學 - 變數積木 Variables Blocks - 清單添加項目

使用「重複 5 次」積木,就能在清單裡添加 5 個項目。

Scratch 教學 - 變數積木 Variables Blocks - 清單添加項目

如果是將某個清單添加到另外一個清單內,則清單的元素會合併成一行 ( 合併的項目之間會用一個空白分隔 )。

Scratch 教學 - 變數積木 Variables Blocks - 清單添加項目

插入

「插入...到清單」積木,可以將指定的項目,插入在清單指定的位置。

Scratch 教學 - 變數積木 Variables Blocks - 清單插入項目

舉例來說,下圖是將 thing 插入在第 3 項,插入項目之後,清單的長度也會從 3 變成 4。

Scratch 教學 - 變數積木 Variables Blocks - 清單插入項目

替換

「插入...到清單」積木,可以將清單指定位置的項目,更換為指定的內容。

Scratch 教學 - 變數積木 Variables Blocks - 清單替換項目內容

舉例來說,下圖是將清單的第 3 項更換為 thing,更換項目內容不會影響清單長度。

Scratch 教學 - 變數積木 Variables Blocks - 清單替換項目內容

刪除

「刪除...項目」積木,可以刪除清單裡指定的項目,或將清單的全部項目清空。

Scratch 教學 - 變數積木 Variables Blocks - 清單刪除項目

舉例來說,下圖是將清單的第 2 項刪除,刪除項目後,清單長度從 3 變成 2。

Scratch 教學 - 變數積木 Variables Blocks - 清單刪除項目

刪除項目不等於刪除清單,如果要刪除清單,可以在積木選單的清單上,按下滑鼠右鍵,就會出現「重新命名」和「刪除清單」的選項,刪除清單後,清單內容的元素也會一併刪除。

Scratch 教學 - 變數積木 Variables Blocks - 刪除清單

取得清單內容

「取得清單內容」積木,可以取得清單裡項目的內容、編號,以及清單的長度。

Scratch 教學 - 變數積木 Variables Blocks - 取得清單內容

舉例來說,下圖可以讓貓咪角色講出第二個項目的內容。

Scratch 教學 - 變數積木 Variables Blocks - 取得清單內容

如果搭配重複積木,也可以做出貓咪依序說出清單項目的結果。

範例參考:貓咪依序說出清單項目

Scratch 教學 - 變數積木 Variables Blocks - 依序說出清單項目

判斷是否包含

「判斷清單是否包含」積木,可以判斷清單裡是否包含某個項目,因為是菱形積木,如果有包含項目,會產生 true 的訊息,沒有包含項目,會產生 false 的訊息

Scratch 教學 - 變數積木 Variables Blocks - 清單判斷是否包含項目

搭配「如果...那麼」積木,就能在用滑鼠點擊貓咪角色時,講出有沒有蘋果的文字。

Scratch 教學 - 變數積木 Variables Blocks - 清單判斷是否包含項目

顯示 / 隱藏

「顯示 / 隱藏清單」積木可以控制清單是否顯示在舞台上。

Scratch 教學 - 變數積木 Variables Blocks - 顯示或隱藏清單

意見回饋

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

Scratch 教學

基本介紹

關於 Scratch 使用 Scratch 3 註冊與登入 操作介面 我的東西

圖形與聲音

繪製造型&背景 編輯音效

程式積木

積木種類 動作 外觀 音效 事件 控制 偵測 運算 變數 清單 函式積木

擴充功能

音樂 畫筆 視訊偵測 文字轉語音 翻譯

技巧&觀念

全域變數、區域變數 深入理解區域變數 控制指定分身 控制所有分身的方法 雲端變數 雲端變數記錄文字 變數串接文字 判斷英文字母大小寫 中斷與停止程式 廣播訊息並等待 鍵盤與滑鼠 滑鼠點擊與長按 偵測所有鍵盤按鍵 點擊隱藏的角色 突破角色尺寸限制 角色與舞台邊界 重複積木的等待時間 音樂暫停與繼續播放 使用造型名稱建立清單 使用造型代替變數 文字轉清單 清單合併為文字 判斷兩個清單是否相同 複製清單、反轉清單 清單數字排序 清單最大值最小值

入門範例

鍵盤控制貓咪 指向中間的箭頭 水果音樂鋼琴 貓咪的影分身之術 貓咪的細胞分裂 螃蟹跑來跑去 吃水果 摸蝴蝶 小狗追棒球 魚兒水中游 小鳥往前飛 舞棍阿伯 小時鐘 搖骰子 轉動的眼球 抽獎輪盤 大樂透電腦選號 卡牌抽籤 ( 20 中 1 ) 移動到邊緣切換場景 人物依序跳舞 ( 廣播 ) 按鈕控制貓咪 ( 廣播 )

進階範例

貓咪跑步 ( 連續背景 ) 貓咪跑步 ( 超長背景 ) 大型數字 ( 圖形數字 ) 拖拉怪獸碰撞牆壁 鍵盤鋼琴 ( 記錄音符 ) 中文字逐字稿 英文字逐字稿 計算機 1 ( 顯示數字 ) 計算機 2 ( 加減乘除 ) 雲端聊天室 音樂播放器 推貓咪 ( 視訊偵測 ) 圍捕小魚 ( 視訊偵測 ) 戳泡泡 ( 視訊偵測 )

視覺特效範例

視差效果 水中吐泡泡 雪花隨風飄 鍵盤鋼琴 ( 音符動畫 ) 無限循環畫中畫 水底探照燈 狙擊望遠鏡 ( 兩倍變焦 ) 貓咪萬花筒 仙女棒 ( 光跡效果 ) 駭客任務背景特效 放煙火 1 ( 往上發射 ) 放煙火 2 ( 爆炸效果 )

繪圖範例

鏡射畫圖 ( 對稱圖形 ) 小畫家 ( 舞台上畫圖 ) 記錄畫圖軌跡 繪製圓形 繪製橢圓形 繪製立方體 ( 會動 ) 繪製正多邊形 繪製正多角星形 ( 單純 ) 繪製正多角星形 ( 多線 ) 繪製拋物線 繪製折線圖 繪製圓餅圖 繪製圓餅圖 ( 指示線 ) 蜘蛛結網 ( 八邊形網 ) 繪製舞台方格 繪製正弦波形 ( sin ) 正弦波毛毛蟲動畫 顯示聲波圖形

物理&模擬範例

鐘擺運動 簡單磁鐵效果 兩個磁鐵的磁力線 立體空間 ( 三度空間 ) 循跡移動 拋物線發射炮彈 地球繞著太陽轉 彈跳的籃球 電風扇 ( 控制強度 ) 拉不走的彈力球 慣性移動 ( 滑鼠 ) 慣性移動 ( 鍵盤 )

入門遊戲範例

猴子接香蕉 打地鼠 打地鼠 ( 體感視訊偵測 ) 刮刮樂 吹風機吹頭髮 太空狗閃躲隕石 九九乘法測驗 英文單字測驗 釣魚遊戲 拍西瓜 ( 儲存最高分 ) 寶可夢猜猜我是誰 ( 基本 ) 形狀配對拼圖 台灣地圖拼圖 英文打字機 英文打字機 ( 判斷大小寫 ) 射擊外星人 猜數字 ( 猜大小 ) 猜數字 ( 幾 A 幾 B ) 連連看 ( 產生器 ) 連連看

進階遊戲範例

青蛙過河 青蛙過馬路 反彈球 ( 乒乓球 ) 打磚塊 狙擊氣球 ( 兩倍變焦 ) Flappy Bird Flappy Bird ( 聲控版 ) 走迷宮 ( 基本 ) 大型迷宮 ( 鍵盤控制 ) 大型迷宮 ( 滑鼠控制 ) 翻卡記憶遊戲 翻卡記憶遊戲 ( 改良版 ) 井字棋 ( 圈圈叉叉 ) 九宮格拼圖 九宮格拼圖 ( 改良版 ) 音階記憶 貪吃蛇 ( 分身版 ) 貪吃蛇 ( 畫筆版 ) 小雞下樓梯 拉霸機

團康遊戲範例

搖骰子 ( 1~3 個 ) 比手畫腳 ( 猜動物 ) 音樂傳球遊戲 大聲公 ( 比賽誰的氣長 ) 抽籤 ( 可調整中籤數量 ) 轉盤指針 ( 指到誰就當鬼 ) 倒數計時器 ( 基本版 ) 倒數計時器 ( 大數字版 )

遊戲設計技巧

角色 ( 地上移動 ) 角色 ( 蹲下、左右轉 ) 角色 ( 跳耀、兩段跳 ) 角色 ( 牆壁、爬牆 ) 地圖 ( 清單轉換 ) 地圖 ( 二維陣列 ) 地圖 ( 控制移動 ) 地圖 ( 牆壁碰撞偵測 ) 地圖 ( 吃東西偵測 ) 俄羅斯方塊 ( 角色與背景 ) 俄羅斯方塊 ( 移動與碰撞 ) 俄羅斯方塊 ( 放置方塊 ) 俄羅斯方塊 ( 消除完成方塊 ) 俄羅斯方塊 ( 下個形狀 )