数组点灯 ( 显示图形 )
这篇文章会介绍如何使用“数组”积木,搭配“循环”和“点亮”积木,让 micro:bit 能透过数组的内容,显示对应的图形。
积木程序原理
micro:bit 的显示器由 25 颗 LED 灯组成,由于 25 颗灯以 5x5 的方式排列,所以可以采用“二维数组”的方式,以 xy 座标控制,以下图为例,左方使用 0 和 1 组成的数组,经过转换 ( 让 1 亮灯 0 熄灯 ),就可以透过 micro:bit 显示。
举例来说,只要建立一个简单的数组,就能显示对应的图形:
- 建立 list 数组:[0,1,0,1,0]。
- 使用计次循环,重复 0~4 共五次。
- 循环每次重复,取出数组 list 对应的项目 ( 例如第一次就取出 list[0],第二次就取出 list[1] )。
- 判断如果取出的项目等于 1,就让指定座标的 LED 亮灯。
- 判断如果取出的项目不等于 1,就让指定座标的 LED 熄灯。
如果把 list 改成以“亮度”为内容的数组,就能够让 LED 依据内容显示不同亮度。
接下来要使用“二维数组”,产生 25 颗灯的图形,首先将原本的 list 数组内容改成“空数组”,点击后方的“+”新增项目。
将具有五个项目的数组,放入 list 数组中,成为二维数组。
因为 MakeCode 的数组积木,“超过五个项目”才会变成直式,为了让程序编辑方便,范例使用六个项目,第六个项目留空。
如果第六个项目无法留空 ( 受限于积木的外观,有时会无法留空 ),也可以使用其他数组代替 ( 实际操作不会用到 )
建立 x 和 y 两个新变数,作为计次循环使用。
在数组 list 下方,放入两个“计次循环”,次数设定 0~4,用鼠标在 index 变数上方按右键,选择 x 和 y 作为计次循环的变数,外层为 y,内层为 x。
使用两次“取得索引项目”,先取得 list 里的项目数组,再从每个取得的项目数组中,取出每个项目的亮度,套用在各自 xy 座标的 LED,完成后,micro:bit 就会按照数组显示对应的亮度。
如果不要使用亮度,也可以改成 0 和 1 的点灯版本,差别在于判断 1 就亮灯,0 就熄灯。
范例解答
范例解答:数组点灯 ( 显示图形 ) - 亮度版
范例解答:数组点灯 ( 显示图形 ) - 点灯版
微信扫码关注
抖音扫码关注