繪製地圖 ( 二維陣列 )
這篇文章延續「繪製地圖 ( 清單轉換 )」文章,使用試算表設計地圖的「二維陣列」,並搭配更多的清單和變數的操作方式,將「二維陣列」的內容轉換成舞台上的圖形。
相關文章參考:繪製地圖 ( 清單轉換 )。
開啟範例
開啟「繪製地圖 ( 清單轉換 )」的範例,從這個範例進行修改。
積木程式原理 ( 建立二維陣列 )
開啟範例後,建立一個名為 source 的清單,勾選顯示在舞台中。
建立一個新的試算表 ( 範例使用 Google 試算表 ),在 20x15 範圍裡儲存格,輸入 1~0 的數字 ( 如果熟悉試算表的操作,也可以利用條件格式,將 1 設定為黃色,0 設定為藍色 )。
將試算表儲存或下載為「以逗號分格的 CSV」檔案,下載後開啟 CSV ( 使用文字編輯器 ),將檔案的前後都加上「雙引號」。
也可以使用 CSV 範例:檔案下載
回到 Scratch,用滑鼠在舞台的 source 清單上按右鍵,選擇「匯入」。
由於 source 清單是「原始數據」( 不要更動的數據 ),所以新增一個名為 map 的清單,按照下圖,將 source 清單的內容原封不動地複製到 map 清單裡。
積木程式原理 ( 顯示二維陣列 )
因為是清單是二維陣列,所以重新編輯「顯示」函式:
- 將一開始的角色定位改成 (-228, 168),定位到舞台左上角,從該處開始產生圖形。
- 新增一個變數 j,設定為 1,表示從 map 清單的第一個項目開始。
- 使用重複 15 次積木,因為舞台的高度為 360,360/24=15,處理垂直的圖形。
- 每次重複時,執行「拆字」函式,依序將 map 的每一個項目拆成 list 清單。
- 將原本範例的積木程式,放在拆字函式下方,負責產生水平圖形。
- 當一行水平圖形完成後,角色移動回最左側,並往下移動 24 點。
- 將變數 j 增加 1。
完成效果
完成後,點擊綠旗,就能看到舞台上出現二維陣列所產生的地圖 ( 此範例先將鍵盤左右控制的積木刪除,下一篇文章會介紹如何控制左右移動 )。
範例解答
範例解答:繪製地圖 ( 二維陣列 )
繼續閱讀
如果已經熟悉了繪製地圖 ( 二維陣列 ) 的程式,就可以繼續閱讀「繪製地圖 ( 控制移動 )」的文章。
文章連結:繪製地圖 ( 控制移動 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~