資訊內(nèi)容
第14課 守護(hù)精靈——控制邏輯
第14課 報(bào)警器
任務(wù)導(dǎo)航
報(bào)警器已應(yīng)用于社會(huì)生活中的方方面面,我們總是說“安全第一”,今天就請(qǐng)同學(xué)們來為Scratch的小主人設(shè)計(jì)并制作一款家用報(bào)警器吧,見圖14.1。
圖14.1 報(bào)警器界面
任務(wù)分析
現(xiàn)在就從最簡單的報(bào)警器開始入手,你希望這個(gè)報(bào)警器具有什么樣的功能呢?假如把小貓家的大門被入侵作為報(bào)警標(biāo)志,那么可以用鍵盤上的一個(gè)按鍵如“a”被按下來表示大門被入侵,用小貓說出“報(bào)警”來表示執(zhí)行報(bào)警的動(dòng)作,如圖14.2所示。
圖14.2簡單報(bào)警器界面 |
Follow Me
1. 制作簡單報(bào)警器
(1)簡單報(bào)警器的功能
簡單報(bào)警器的功能如表14.1所示。
表14.1 簡單報(bào)警器的功能
功能 | |
1 | 大門被入侵時(shí),按下“a”鍵,小貓說“報(bào)警” |
(2)設(shè)計(jì)界面并編寫程序
第1步:新建Scratch程序,保存文件到指定位置,文件名為“簡單報(bào)警器”。
第2步:選擇“角色1”,添加腳本,如圖14.3所示。
圖14.3 簡單報(bào)警器角色1腳本 |
DIY
如果增加報(bào)警器的功能如下表14.2所示,你可以如何完善程序呢?
表14.2 簡單報(bào)警器的新增功能
功能 | |
1 | 窗戶被入侵時(shí),按下“b”鍵,小貓說“報(bào)警” |
2 | 客廳門被入侵時(shí),按下“c”鍵,小貓說“報(bào)警” |
2. 制作具有總開關(guān)的報(bào)警器
如果你當(dāng)時(shí)在家,不需要啟動(dòng)報(bào)警器,這樣就需要有一個(gè)總開關(guān),用來在不需要報(bào)警的時(shí)候關(guān)閉報(bào)警器。當(dāng)增加報(bào)警器功能后,用按鍵“b”被按下表示窗戶被入侵,用“c”被按下表示客廳門被入侵……于是,小貓認(rèn)為應(yīng)該有個(gè)總開關(guān)來控制報(bào)警器則更方便。其新增功能如表14.3所示。
表14.3 具有總開關(guān)的報(bào)警器的新增功能
功能 | |
1 | 單擊“角色1”控制報(bào)警器的開和關(guān) |
可以使用角色1的兩個(gè)造型,分別表示“報(bào)警器開”和“報(bào)警器關(guān)”,并通過角色1的造型編號(hào)來控制是否識(shí)別按鍵被按下,從而控制報(bào)警器的開與關(guān)。
(1)設(shè)計(jì)造型
設(shè)置角色1的兩個(gè)造型,如圖14.4所示。
|
圖14.4 角色1的兩個(gè)造型 |
(2)編寫代碼
按照?qǐng)D14.5中所示的代碼,為“角色1”添加腳本。
|
圖14.5 有總開關(guān)的報(bào)警器腳本 |
想一想
家用報(bào)警器還可以增加什么功能呢?你可以在程序中如何實(shí)現(xiàn)呢?
(3)記錄報(bào)警時(shí)間
為了便于報(bào)警后迅速破案,需要記錄報(bào)警的時(shí)間和出警地點(diǎn)。報(bào)警器已經(jīng)能夠識(shí)別多處險(xiǎn)情的報(bào)警了,小貓還希望報(bào)警器能記錄下是何處報(bào)警,并記錄下各處的報(bào)警時(shí)間,其功能如表14.3所示。
表14.3 報(bào)警器新增功能
功能 | |
1 | 記錄下是何處報(bào)警 |
2 | 記錄下報(bào)警的時(shí)間 |
可以為報(bào)警器添加“大門”、“窗戶”和“客廳門”等角色,并為這些角色設(shè)置只適用于這個(gè)角色的“鏈表”,將何處報(bào)警的信息記錄在鏈表中。為報(bào)警器添加“計(jì)時(shí)器”,便可將報(bào)警時(shí)間記錄下來。
第1步:報(bào)警器增加角色“窗戶”、“客廳門”和“大門”,并將其擺放到舞臺(tái)上的合適位置。
第2步:添加“計(jì)時(shí)器”。
第3步:分別為這三個(gè)角色添加只適用于這個(gè)角色的鏈表“報(bào)警時(shí)間”。
第4步:為角色“窗戶”添加腳本,如圖14.6所示。
第5步:完善角色1腳本,如圖14.7所示。
圖14.6 角色“窗戶”的腳本 | 圖14.7“角色1”的腳本 |
DIY
參考角色“窗戶”的腳本設(shè)計(jì),完成“客廳門”和“大門”的腳本。
知識(shí)著陸
代碼:如果……就重復(fù)執(zhí)行
設(shè)計(jì):總開關(guān)的設(shè)計(jì)
創(chuàng)作天地
- 若要在重新打開報(bào)警器的時(shí)候,“計(jì)時(shí)器”歸零的同時(shí),也能將鏈表清空,該如何修改程序呢?
- 請(qǐng)?jiān)O(shè)計(jì)并制作一個(gè)用水超標(biāo)報(bào)警器。
- 請(qǐng)?jiān)O(shè)計(jì)并制作一個(gè)智能家居,使其具有控制窗簾開關(guān)、控制燈的開關(guān)或控制空調(diào)溫度等功能。
- 除了使用角色1的造型編號(hào)的方法設(shè)計(jì)總開關(guān),還有沒有其他的方法。
視野拓展
在優(yōu)酷視頻中搜索“感測(cè)與控制技術(shù)改裝鍵盤”,你會(huì)看到一個(gè)視頻介紹如何把鍵盤拆掉,將每個(gè)鍵引出到家里的各個(gè)地方,這樣你就可以制作一個(gè)真實(shí)的報(bào)警器了。如果你不想拆鍵盤你可以搜索makeymakey、酷樂宅或者Stargazer,他們都提供了建議的帶有引出功能的usb鍵盤,這樣你就可以制作一個(gè)真實(shí)的報(bào)警器,如果你使用Stargazer,甚至還可以制作一個(gè)報(bào)警燈或者出警后讓電腦發(fā)一個(gè)短信給你,技術(shù)正在改變每一個(gè)人的生活,我們正在努力參與其中,改進(jìn)技術(shù),而不是僅僅的消費(fèi)技術(shù)。

- 上一篇
第13課 游俠比武——只適用于該角色的變量
第3單元 數(shù)字工程師 學(xué)習(xí)完了數(shù)字科學(xué)家這個(gè)單元之后,你應(yīng)該具備的用科學(xué)研究的方法進(jìn)行項(xiàng)目技術(shù)攻關(guān)的初步能力,現(xiàn)在就是你小試牛刀的機(jī)會(huì),本單元除了要展示同學(xué)們的游戲作品之外,更重要的是讓同學(xué)們?cè)诮咏鎸?shí)的工程情境當(dāng)中對(duì)自己應(yīng)用程序?yàn)榭蛻舴?wù)的能力得到提升
- 下一篇
第15課 電子點(diǎn)菜器
第15課 電子點(diǎn)菜器 任務(wù)導(dǎo)航如今很多餐館已經(jīng)使用電子菜單代替了傳統(tǒng)菜單,顧客可以在電子設(shè)備上使用電子點(diǎn)菜系統(tǒng)進(jìn)行點(diǎn)菜;也有很多飯店開展了網(wǎng)絡(luò)訂餐業(yè)務(wù),顧客在家里通過網(wǎng)絡(luò)進(jìn)行點(diǎn)菜,就可享用美味。本課,我們將使用Sc