資訊內(nèi)容
第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)菜,就可享用美味。本課,我們將使用Scratch制作電子點(diǎn)菜器,如圖15.1所示。
![]() |
圖15.1 電子點(diǎn)菜器界面 |
Follow Me
1. 制作簡單點(diǎn)菜器
(1)設(shè)計(jì)簡單點(diǎn)菜器的功能
簡單點(diǎn)菜器的功能如表15.1所示。
表15.1 簡單點(diǎn)菜器的功能
功能 | |
1 | 每種菜品被點(diǎn)擊時(shí),將該菜品信息顯示到鏈表中 |
2 | 每種菜品被點(diǎn)擊時(shí),將該菜品的價(jià)格加入總價(jià)之中 |
3 | 單擊綠旗,可以重新進(jìn)行點(diǎn)菜或進(jìn)行下一次點(diǎn)菜 |
(2)設(shè)計(jì)簡單點(diǎn)菜器的界面
第1步:新建Scratch程序,保存文件到指定位置,文件名為“簡單點(diǎn)菜器”。
第2步:刪除“角色1”,導(dǎo)入各種菜品并添加角色,設(shè)置角色名稱,如圖15.2所示。

圖15.2 角色設(shè)置
第3步:新建一個(gè)適用于所有角色的變量“總價(jià)”。
第4步:新建一個(gè)適用于所有角色的鏈表“已選菜品”。
第5步:將所建的角色、變量和鏈表,放置在舞臺(tái)的合適位置,如圖15.3所示。

圖15.3 簡單點(diǎn)菜器界面
(3)編寫代碼
第1步:按照?qǐng)D15.4所示的腳本,為角色“薯?xiàng)l”添加腳本。
第2步:根據(jù)簡單點(diǎn)菜器的功能設(shè)置,當(dāng)單擊綠旗時(shí),可以重新進(jìn)行點(diǎn)菜或進(jìn)行下一次點(diǎn)菜。此時(shí)需要將“總價(jià)”清零,將鏈表清空,腳本如圖15.5所示。
![]() | ![]() |
圖15.4 角色“薯?xiàng)l”腳本 | 圖15.5 程序初始化腳本 |
DIY
模仿“薯?xiàng)l”完成其它菜品角色的腳本。
2. 制作具有減少菜品功能的電子點(diǎn)菜器[趙軼華2]
(1)設(shè)計(jì)新增功能
“簡單點(diǎn)菜器”只能增加菜品,不能修改菜單,我們通過改進(jìn)電子點(diǎn)菜器,使其能夠增加或減少菜品。其新增功能如表14.2所示。
表14.2 具有減少菜品功能的電子點(diǎn)菜器的新增功能
新增功能 | |
1 | 鼠標(biāo)單擊各角色上半部分,增加該菜品 |
2 | 鼠標(biāo)單擊各角色下半部分,減少該菜品 |
(2)完善界面設(shè)計(jì)



為實(shí)現(xiàn)上述新增功能,需要為每個(gè)角色設(shè)置“增加”和“減少”的標(biāo)記,分別使用不同的顏色表示。單擊該區(qū)域時(shí),通過顏色來確定顧客是要增加菜品還是減少菜品。
第1步:將文件另存為“具有減少菜品功能的點(diǎn)菜器”。
第2步:編輯各角色,分別使用深粉色和淺粉色來標(biāo)記“增加”和“減少”菜品的區(qū)域,如圖15.6所示。

圖15.6具有減少菜品功能的點(diǎn)菜器界面
(3)編寫代碼
第1步:增加新角色“角色11”,角色中只繪制一個(gè)淡淡的淺色“點(diǎn)”,如圖15.7所示。
第2步:按照?qǐng)D15.8所示的代碼,為角色11添加腳本。
![]() | ![]() |
圖15.7 角色11 | 圖15.8 “角色11”腳本 |
第3步:為角色“薯?xiàng)l”修改腳本,如圖15.9所示。
![]() |
圖15.9 角色“薯?xiàng)l”腳本 |
DIY
模仿角色“薯?xiàng)l”完成其它菜品角色的腳本。
3. 電子點(diǎn)菜器的進(jìn)一步改進(jìn)[趙軼華3]
(1)設(shè)計(jì)新增功能
盡管電子點(diǎn)菜器已經(jīng)被改進(jìn),但是仍然有很多不足,如在某個(gè)菜品還沒被選擇時(shí),仍能夠減少該菜品的數(shù)目,致使該菜品的數(shù)目和總價(jià)變?yōu)樨?fù)數(shù)。同時(shí),需要增加一個(gè)提交按鈕,當(dāng)點(diǎn)好菜時(shí),單擊“提交”按鈕,鏈表中顯示已選擇菜品。
表15.3 點(diǎn)菜器新增功能
新增功能 | |
1 | 當(dāng)某種菜品沒被選擇時(shí),該菜品不能被減少。 |
2 | 增加“提交”按鈕。單擊“提交”按鈕,鏈表中顯示已選擇菜品。 |
(2)完善界面
第1步:為每個(gè)變量增加“數(shù)目”變量。為“薯?xiàng)l”增加一個(gè)只適用于這個(gè)角色的變量“數(shù)目”,在舞臺(tái)的“數(shù)目”上右擊,選擇“大型讀數(shù)器”,并將其拖放到薯?xiàng)l上合適位置,如圖15.10所示。

圖15.10 增加“數(shù)目”變量
DIY
模仿“薯?xiàng)l”完成其它菜品角色的設(shè)置。
第2步:添加一個(gè)角色“提交”,如圖15.1所示。
(3)編寫代碼
第1步:改進(jìn)角色“薯?xiàng)l”腳本,如圖15.11所示。
![]() |
圖15.11 角色“薯?xiàng)l”改進(jìn)腳本 |
第2步:為角色“提交”添加腳本,如圖15.12所示,將薯?xiàng)l及所選數(shù)目添加到列表中。
![]() |
圖15.12 角色“提交”腳本 |
DIY
請(qǐng)模仿角色“薯?xiàng)l”腳本,將“提交”中的其它菜品角色腳本完成。
知識(shí)著陸
腳本:用局部變量解決具有共性的問題
設(shè)計(jì):點(diǎn)菜系統(tǒng)要注意用戶的使用習(xí)慣,以方便客人,提高用戶體驗(yàn)為原則
研發(fā):研發(fā)的過程要由淺到深,在研發(fā)的過程中要不斷找人來試用,選取合理意見進(jìn)行改進(jìn),但是要注意改進(jìn)所需付出的時(shí)間成本
創(chuàng)作天地
- 更換你喜歡的菜肴或食品,完善點(diǎn)菜器程序。
- 制作一個(gè)其它種類商品的選購程序。
- 選擇一個(gè)其他行業(yè)詢問一下他們有什么樣的軟件需求,嘗試著滿足這種需求
視野拓展
還記得耳機(jī)線開關(guān)么?尋找一個(gè)光敏電阻,將開關(guān)取下,把光敏電阻接到耳機(jī)線兩端,在白熾燈下你會(huì)發(fā)現(xiàn)有一個(gè)穩(wěn)定的音量值,并且這個(gè)音量值隨著光敏電阻感受到的光照強(qiáng)度的變化而變化。用這個(gè)現(xiàn)象,可以用手去控制感光制作很多有趣有用的設(shè)備。
如果你手里有普通電阻,將普通電阻和光敏電阻串聯(lián)起來,你會(huì)發(fā)現(xiàn)當(dāng)光敏電阻感受到的光照強(qiáng)度一定的時(shí)候,音量值伴隨普通電阻阻值變化,利用這個(gè)效應(yīng),我們甚至可以用麥克風(fēng)端口測量電阻阻值、溫度、長度……,詳情你可以上優(yōu)酷視頻查找“感測與控制技術(shù)用麥克風(fēng)測電阻”了解更多有趣有用的知識(shí)。
[趙軼華1]1. 圖15.1中是“炸薯?xiàng)l”,而圖15.2中是“薯?xiàng)l”,需統(tǒng)一。
2. 已選菜品里,改為“魚香肉絲 3份”是不是會(huì)更清楚一點(diǎn)。
3. 截圖的鏈表中是否可以只顯示3條記錄,可以方便計(jì)算合計(jì)的金額。現(xiàn)在顯示4條,看不到第1條是什么菜。
4. 圖中的菜品是否需要按照某種規(guī)律進(jìn)行一下排序,比如按照價(jià)錢的高低、西餐和中餐的區(qū)分等。
[趙軼華2]改進(jìn)版本-電子點(diǎn)單1中刪除某項(xiàng)菜品時(shí),會(huì)在鏈表中增加一條“刪除 XXX: X元”,這個(gè)覺得有點(diǎn)別扭,因?yàn)橐堰x菜品中列出的應(yīng)該是已經(jīng)選擇的菜品。不知道是否有辦法把要?jiǎng)h的菜品從鏈表中刪掉。
[趙軼華3]改進(jìn)版本-電子點(diǎn)單2中,選擇一個(gè)菜品后,不會(huì)在鏈表中顯示,只有在提交之后才會(huì)顯示在鏈表中。這個(gè)是否需要改為每點(diǎn)一個(gè)菜就在鏈表中顯示?
點(diǎn)完菜,單擊“提交”按鈕后,如果再選別的菜,然后單擊“提交”按鈕,之前鏈表里的記錄是否應(yīng)該清空,只保留最新的點(diǎn)菜記錄?

- 上一篇
第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)警
- 下一篇
第16課 口算生成器
第16課 口算生成器 任務(wù)導(dǎo)航有一天你的數(shù)學(xué)老師找到你,期望你能夠幫助她編寫一個(gè)軟件,給低年級(jí)的同學(xué)出口算題,想必這難不倒你吧。同學(xué)們來幫助增加口算學(xué)習(xí)的興趣,提高口算學(xué)習(xí)的成績,我們?yōu)樾W(xué)生們編寫一個(gè)口算練習(xí)的