地图 ( 二维数组 )
这篇文章延续“绘制地图 ( 清单转换 )”文章,使用试算表设计地图的“二维数组”,并搭配更多的清单和变数的操作方式,将“二维数组”的内容转换成舞台上的图形。
相关文章参考:绘制地图 ( 清单转换 )。
打开范例
打开“绘制地图 ( 清单转换 )”的范例,从这个范例进行修改。
积木程序原理 ( 建立二维数组 )
打开范例后,建立一个名为 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。
完成效果
完成后,点击绿旗,就能看到舞台上出现二维数组所产生的地图 ( 此范例先将键盘左右控制的积木删除,下一篇文章会介绍如何控制左右移动 )。
范例解答
范例解答:绘制地图 ( 二维数组 )
继续阅读
如果已经熟悉了绘制地图 ( 二维数组 ) 的程序,就可以继续阅读“绘制地图 ( 控制移动 )”的文章。
文章链接:绘制地图 ( 控制移动 )
微信扫码关注
抖音扫码关注