白二娃
Scratch除了做一些簡單的小游戲,還能制作出復(fù)雜的通訊錄管理系統(tǒng),具備市面通訊錄管理系統(tǒng)的所有基本功能。通過對通訊錄管理系統(tǒng)功能目標(biāo)解析,自制相關(guān)素材,參考相應(yīng)成品,完成Scratch版本的通訊錄管理系統(tǒng)。這將幫助我們掌握多功能程序框架構(gòu)建,了解通訊錄基本功能要求,還能熟悉列表的增刪查改簡單操作,掌握變量顯示與隱藏的應(yīng)用方法。
通訊錄管理系統(tǒng)是指幫助用戶管理多位聯(lián)系人信息,可以增加、刪除、查找、修改的系統(tǒng),現(xiàn)今較流行的通訊錄管理系統(tǒng)還包括生日提醒、日程安排、一鍵整理等更多功能,我們這里只需完成增刪查改的基本功能即可。
增加聯(lián)系人:表示在原有聯(lián)系人不變的前提下,加入新聯(lián)系人的相關(guān)信息,包括且不限于“姓名、電話、住址、生日、學(xué)籍”。
刪除聯(lián)系人:表示刪除某個特定的聯(lián)系人全部信息或刪除全部聯(lián)系人全部信息。
查找聯(lián)系人:表示通過輸入姓名,返回輸出該姓名聯(lián)系人的其他信息。
修改聯(lián)系人:表示通過輸入姓名,返回輸出該姓名聯(lián)系人全部信息,并且可以對該聯(lián)系人信息進(jìn)行修改。
通訊錄管理系統(tǒng)保存的通常是比較私密的聯(lián)系人信息,所以我們需要為通訊錄管理系統(tǒng)加入一個登錄頁面,登錄系統(tǒng)可以獨立于通訊錄管理系統(tǒng)之外,作為開啟通訊錄管理系統(tǒng)的門而存在。
登錄系統(tǒng)可分為登錄和注冊兩部分,登錄要求用戶名和密碼都正確,注冊要求輸入賬號和密碼,要求賬號和已有的賬號不同。登錄成功后即可進(jìn)入通訊錄管理系統(tǒng)。
通訊錄管理系統(tǒng)分有四個基本功能:增、刪、查、改。
在制作程序前,我們需要先確定聯(lián)系人信息的保存形式。由于聯(lián)系人數(shù)量較多,是不適合使用變量保存的;又由于Scratch數(shù)據(jù)格式的局限,我們這里可以選擇的方式只有“列表”,我們可以使用多個列表分別保存聯(lián)系人的某個信息:例如“姓名”列表保存所有聯(lián)系人的姓名;“電話”列表保存所有聯(lián)系人的電話號碼等等。再通過項數(shù)一致確保同一聯(lián)系人所有信息都在某個列表的同一項中,保證跨列表調(diào)取聯(lián)系人信息。
程序分為兩個部分,主頁面與操作頁面。
其中主頁面分為登錄與注冊兩個部分,登錄成功即可進(jìn)入操作頁面。
操作頁面包含增刪查改四個功能,選擇相應(yīng)功能完成操作后可退回操作頁面選擇其他操作。
聯(lián)系人管理系統(tǒng)并不需要太多角色,只需要制作相應(yīng)的按鈕和界面背景即可,比較簡單,這里直接展示需要的角色造型及背景。
1.背景:
2.角色(注冊):用文字標(biāo)示按鈕。
“登錄、返回、增加聯(lián)系人、刪除聯(lián)系人、查找聯(lián)系人、修改聯(lián)系人”角色用同樣的樣式制作。
3.角色(用戶名):有輸入框的樣式?!懊艽a”角色用同樣外形。
4. 列表和變量
建立“賬號、密碼、聯(lián)系人、電話”四個列表。
建立“用戶名、密碼、項數(shù)”三個變量。
主頁面分為注冊和登錄,在登錄成功之前,會一直保持在主頁面,選擇注冊后,會在注冊成功后回到主頁面。登錄成功后進(jìn)入操作頁面,可以選擇增刪查改四個功能,進(jìn)入某一功能后,可在完成操作后回到操作頁面,直到程序停止運(yùn)行。
程序開始廣播主頁面,出現(xiàn)登錄與注冊按鈕。當(dāng)兩個按鈕被點擊,則廣播相應(yīng)的“登錄”或“注冊”消息并隱藏。
1. 舞臺背景部分代碼
2. 角色(登錄)部分代碼
3. 角色(注冊)代碼
4. 注冊功能實現(xiàn)
當(dāng)舞臺背景接收到“注冊”消息時,先顯示角色“用戶名”和“密碼”,并通過詢問獲得用戶想要注冊的用戶名和密碼,其中需要確保用戶名沒有被使用,這里需要使用循環(huán)判斷直到列表中沒有該用戶名的技巧來完成,可實現(xiàn)一直輸入用戶名,直到出現(xiàn)列表中不存在的用戶名為止。
然后需要通過詢問輸入密碼,并將用戶名和密碼顯示出來,以大字顯示模式放在相應(yīng)角色上面,注冊完成后廣播主頁面。
在接收到“登錄”消息時,需要用戶輸入用戶名和密碼,同樣要顯示角色“用戶名”和“密碼”,將輸入的用戶名和密碼放到相應(yīng)位置,效果如圖:
5. 登錄功能實現(xiàn)
輸入完成后,先對用戶名進(jìn)行判斷,用戶名列表中含有輸入的用戶名再搜索輸入用戶的項數(shù),否則直接通過詢問輸出“用戶名或密碼錯誤,按回車鍵返回主頁面”并廣播“主頁面”。
當(dāng)舞臺接收到廣播“登錄”,搜索特定用戶名的項數(shù),可采用遍歷的方法,設(shè)定變量“項數(shù)”,從用戶名列表的第0項開始與輸入用戶名進(jìn)行比較,直到找到相等項為止。
然后判斷密碼列表的相同項數(shù)內(nèi)容與輸入密碼是否一致,相同則說明登錄成功,廣播“操作頁面”,否則廣播“主頁面”。
當(dāng)進(jìn)入操作頁面后,有四個功能按鈕,每個按鈕被按下會發(fā)出相應(yīng)廣播并全部隱藏?;境绦蛉缦?。
1. 角色(增加聯(lián)系人)代碼
2. 角色(刪除聯(lián)系人)代碼
3. 角色(查找聯(lián)系人)與上面兩個類似,當(dāng)角色被點擊時廣播“查詢聯(lián)系人”并隱藏,接收“操作頁面”顯示,收到其他5條廣播隱藏。
4. 角色(修改聯(lián)系人)與其他三個類似,當(dāng)角色被點擊時廣播“修改聯(lián)系人”并隱藏,接收“操作頁面”顯示,收到其他5條廣播隱藏。
5. 增加聯(lián)系人功能實現(xiàn)
當(dāng)舞臺背景接收到消息“增加聯(lián)系人”時,可以通過詢問獲得用戶要添加的聯(lián)系人姓名和電話,但需要對輸入的聯(lián)系人進(jìn)行查重判斷,不能和已有聯(lián)系人重名,若判斷通過,則將用戶輸入的聯(lián)系人和電話保存到相應(yīng)列表中。
6. 刪除聯(lián)系人功能
當(dāng)舞臺背景接收到消息“刪除聯(lián)系人”時,需要先通過詢問獲得用戶要刪除的聯(lián)系人姓名,同樣需要列表中有這個聯(lián)系人,并且通過遍歷找到該聯(lián)系人的項數(shù),再刪除聯(lián)系人列表和電話列表的相應(yīng)項數(shù)內(nèi)容。
7. 查詢聯(lián)系人功能
當(dāng)舞臺背景接收到消息“查詢聯(lián)系人”時,需要先通過詢問獲得用戶要查詢的聯(lián)系人姓名,同樣需要列表中有這個聯(lián)系人,并且通過遍歷找到該聯(lián)系人的項數(shù),再輸出電話列表中相同項數(shù)的內(nèi)容。
8. 修改聯(lián)系人功能
當(dāng)舞臺背景接收到消息“修改聯(lián)系人”時,需要先通過詢問獲得用戶要修改的聯(lián)系人姓名,同樣需要列表中有這個聯(lián)系人,并且通過遍歷找到該聯(lián)系人的項數(shù),再輸入修改后的電話,并將電話列表中相同項數(shù)的內(nèi)容替換為新輸入的電話。
9. 返回按鈕
在接收到消息“操作完成”后,角色(返回)出現(xiàn),并且在被點擊時廣播“操作頁面”,
程序至此基本完成,接下來對各項功能進(jìn)行測試,測試順序為:注冊功能、登錄功能、增加聯(lián)系人功能、查找聯(lián)系人功能、修改聯(lián)系人功能、刪除聯(lián)系人功能,同時注意界面切換有無問題。再加上變量與列表的顯示隱藏即可完成整個程序。
某些軟件注冊時要求用戶輸入兩遍密碼,防止用戶輸錯,那么我們這里可不可以也輸入兩次密碼,相同時才可完成注冊呢?