人工智能趣味入门:光环板程序设计
上QQ阅读APP看书,第一时间看更新

二、编写程序

(一)编程思路

要用按钮控制LED灯,其实是很简单的,示例程序如图4-2所示。

如果想改变LED灯显示的颜色,可以单击按钮,会弹出设置菜单,如图4-3所示,通过颜色、饱和度、亮度3个属性设定需要显示的颜色。此外,还可以通过下方的拾色器到舞台背景上“拾取”想要的颜色。

图4-2 示例程序(一)

图4-3 设定LED灯的颜色

那么,怎样才能实现按下按钮后让灯熄灭呢?也许你会想到如图4-4所示的程序。

上传到光环板,观察效果。

为什么会产生这样的结果?因为程序中连续使用了两次积木,而积木下面的程序又是相互矛盾的,所以会产生异常的结果。如果把两个程序交换位置,又会出现不一样的结果。但是,那都不是我们需要的结果。

我们需要整理一下编程思路:当侦测到按钮被按下时,如果灯是熄灭的就执行点亮指令;反之,如果按钮被按下时,灯已经是亮的,那么就要执行熄灭指令。我们可以通过绘制程序流程图的方式帮助我们梳理思路,如图4-5所示。

图4-4 示例程序(二)

图4-5 程序流程图

现在要解决的问题是:如何判断灯是否打开?这需要我们先建立一个变量开关状态,通过读取开关状态的值判断灯是否开启。当开关状态为0时,代表灯是关闭的;当开关状态为1时,代表灯是开启的。

(二)编写程序

按照如图4-6所示的示例程序编写程序并上传到光环板。

图4-6 “开关灯”程序

知识宝典

程序的基本结构——分支结构

图4-6所示的程序用到了控制积木,它属于程序设计结构的一种——分支结构,也称为选择结构,即根据条件判断是否执行相关指令,其流程图如图4-7所示。需要注意的是:程序的三种基本结构并不是孤立存在的,很多时候是相互包含的。

图4-7 分支结构