1.麦克的故事

2.麦克的布兜

1× micro: bit主控板

1× micro: bit扩展板

1× 彩虹灯带

1× micro USB 连接线

3.小麦的愿望

4.小克的黑板

STEP1:将彩虹灯带接在扩展板的P0号接口。

图4.4.1连线示意图

STEP2:动作识别部分 1.相关指令学习 首先我们需要让micro: bit板随机产生并显示一个方向,如果我们的动作与该方向一致,那么再随机产生一个方向;如果我们的动作与该方向不一致,那么一直保持当前的箭头方向,程序的流程图大致如下。

图4.4.2动作识别部分逻辑图

2.程序编写 ①设置变量“目标方向”,它表示LED灯显示的方向,需要将“目标方向”的值设置为随机数0~3。 图4.4.3设置目标方向的值

②建立一个函数“产生随机方向”,使“0123”4个数字分别对应LED点阵上不同方向的箭头。 图4.4.4“产生随机方向”函数

③设置变量“操作方向”,它表示micro: bit板的当前的倾斜方向,并通过“当前姿态为”指令将“操作方向”与“0123”4个数字对应起来。 图4.4.5获取当前姿态指令

④通过一个“如果-那么执行”指令进行条件判断,如果操作方向与目标方向一致,那么继续产生随机方向。 图4.4.6条件判断程序

⑤这个部分的完整程序为:

图4.4.7动作识别部分完整程序

STEP3:彩灯倒计时部分 1.逻辑图绘制 随着时间的推移,led灯珠将会以稳定的速度相继熄灭。所以反应速度越快,小灯剩余数量越多。

2.程序编写 ①构建变量“时间”和“小灯数量”,并将“小灯数量”设置为7(也就是7盏灯都亮起),将“时间”设置为0,通过“如果-否则执行”实现逻辑图的要求。

图4.4.9“如果-那么执行”指令

②在倒计时的同时,不要忘记设置小灯的亮灯程序哦: 图4.4.10 LED灯显示指令

③前两部分的完整程序为:

图4.4.11前两个部分完整程序

STEP4:计分部分 1.逻辑图绘制 如果每次操作方向和目标方向一致,则积一分,如果积满20分,亮灯的数量还大于0,则挑战成功,即拆弹成功,最终得分为LED灯的剩余个数;否则,拆弹失败。 流程图大致如下: 图4.4.12计分部分逻辑图

2.程序编写 ①构建变量“积分”和“最终得分”,并将“积分”设置为0,将“最终得分”设置为0,通过“如果-那么执行”实现逻辑图的要求。

图4.4.13部分程序

②炸弹游戏完成程序如下:

图4.4.14完整执行程序

5.麦克发明室