资讯内容
第14课 守护精灵——控制逻辑
第14课 报警器
任务导航
报警器已应用于社会生活中的方方面面,我们总是说“安全第一”,今天就请同学们来为Scratch的小主人设计并制作一款家用报警器吧,见图14.1。
图14.1 报警器界面
任务分析
现在就从最简单的报警器开始入手,你希望这个报警器具有什么样的功能呢?假如把小猫家的大门被入侵作为报警标志,那么可以用键盘上的一个按键如“a”被按下来表示大门被入侵,用小猫说出“报警”来表示执行报警的动作,如图14.2所示。
图14.2简单报警器界面 |
Follow Me
1. 制作简单报警器
(1)简单报警器的功能
简单报警器的功能如表14.1所示。
表14.1 简单报警器的功能
功能 | |
1 | 大门被入侵时,按下“a”键,小猫说“报警” |
(2)设计界面并编写程序
第1步:新建Scratch程序,保存文件到指定位置,文件名为“简单报警器”。
第2步:选择“角色1”,添加脚本,如图14.3所示。
图14.3 简单报警器角色1脚本 |
DIY
如果增加报警器的功能如下表14.2所示,你可以如何完善程序呢?
表14.2 简单报警器的新增功能
功能 | |
1 | 窗户被入侵时,按下“b”键,小猫说“报警” |
2 | 客厅门被入侵时,按下“c”键,小猫说“报警” |
2. 制作具有总开关的报警器
如果你当时在家,不需要启动报警器,这样就需要有一个总开关,用来在不需要报警的时候关闭报警器。当增加报警器功能后,用按键“b”被按下表示窗户被入侵,用“c”被按下表示客厅门被入侵……于是,小猫认为应该有个总开关来控制报警器则更方便。其新增功能如表14.3所示。
表14.3 具有总开关的报警器的新增功能
功能 | |
1 | 单击“角色1”控制报警器的开和关 |
可以使用角色1的两个造型,分别表示“报警器开”和“报警器关”,并通过角色1的造型编号来控制是否识别按键被按下,从而控制报警器的开与关。
(1)设计造型
设置角色1的两个造型,如图14.4所示。
|
图14.4 角色1的两个造型 |
(2)编写代码
按照图14.5中所示的代码,为“角色1”添加脚本。
|
图14.5 有总开关的报警器脚本 |
想一想
家用报警器还可以增加什么功能呢?你可以在程序中如何实现呢?
(3)记录报警时间
为了便于报警后迅速破案,需要记录报警的时间和出警地点。报警器已经能够识别多处险情的报警了,小猫还希望报警器能记录下是何处报警,并记录下各处的报警时间,其功能如表14.3所示。
表14.3 报警器新增功能
功能 | |
1 | 记录下是何处报警 |
2 | 记录下报警的时间 |
可以为报警器添加“大门”、“窗户”和“客厅门”等角色,并为这些角色设置只适用于这个角色的“链表”,将何处报警的信息记录在链表中。为报警器添加“计时器”,便可将报警时间记录下来。
第1步:报警器增加角色“窗户”、“客厅门”和“大门”,并将其摆放到舞台上的合适位置。
第2步:添加“计时器”。
第3步:分别为这三个角色添加只适用于这个角色的链表“报警时间”。
第4步:为角色“窗户”添加脚本,如图14.6所示。
第5步:完善角色1脚本,如图14.7所示。
图14.6 角色“窗户”的脚本 | 图14.7“角色1”的脚本 |
DIY
参考角色“窗户”的脚本设计,完成“客厅门”和“大门”的脚本。
知识着陆
代码:如果……就重复执行
设计:总开关的设计
创作天地
- 若要在重新打开报警器的时候,“计时器”归零的同时,也能将链表清空,该如何修改程序呢?
- 请设计并制作一个用水超标报警器。
- 请设计并制作一个智能家居,使其具有控制窗帘开关、控制灯的开关或控制空调温度等功能。
- 除了使用角色1的造型编号的方法设计总开关,还有没有其他的方法。
视野拓展
在优酷视频中搜索“感测与控制技术改装键盘”,你会看到一个视频介绍如何把键盘拆掉,将每个键引出到家里的各个地方,这样你就可以制作一个真实的报警器了。如果你不想拆键盘你可以搜索makeymakey、酷乐宅或者Stargazer,他们都提供了建议的带有引出功能的usb键盘,这样你就可以制作一个真实的报警器,如果你使用Stargazer,甚至还可以制作一个报警灯或者出警后让电脑发一个短信给你,技术正在改变每一个人的生活,我们正在努力参与其中,改进技术,而不是仅仅的消费技术。