資訊內容
Scratch對話機器人
上一期我們完善了大魚吃小魚的游戲,今天我們使用Scratch完成一個對話機器人的雛形。
首先我們來了解一下今天的基礎知識點,很重要哦!!!
字符串
????字符串是編程中非常重要的一種數據類型,只要使用計算機和互聯網就離不開字符串。無論是網上的各種文章,我們鍵盤輸入的各種內容,屏幕上展示的數字、符號、文本等等均屬于字符串。
????在Scratch中為我們提供了字符串相關的積木在運算類積木中。
1、第一個為連接倆個字符串為一個字符串
2、獲取字符串中的第幾個字符
3、獲取字符串中有多少個字符
4、判斷字符串中是否包含了某個字符
接下來我們做一個可以和人對話的機器人吧
機器人要求:
????1、機器人詢問名字,回答之后機器人要分析出這個名字的姓
????2、使用姓+同學稱呼用戶,并且詢問是否在上小學
??? 3、如果回答“是”,那么就繼續詢問年級,否則直接回復用戶“你已經超出我的認知范圍啦,我要再努力努力才能和你對話哦!”。結束機器人對話
????4、詢問用戶年級之后,詢問“數學難不難”
??? 5、如果用戶回答包含“不難”的字符,給用戶說“你好厲害哦”,否則告知用戶,要好好學習。
接下來我們分析機器人的要求,并拆分問題,然后通過使用Scratch一步步完成機器人
-
創建一個變量用來保存用戶輸入的名稱
-
創建一個變量用來保存用戶的姓(此處暫不考慮復姓,即姓只有一個字)
此處可通過使用字符串積木中獲取第幾個字符的積木獲取第一個字符作為姓,賦值給變量
????3、使用字符串拼接姓和“同學”,然后詢問是否在上小學
????????此處需要一個變量,保存用戶回答的問題,方便在后面的判斷中使用
??? 4、使用如果...否則積木判斷用戶回答是否為“是”(此處我們只考慮用戶只會回答是或者不是),如果為是則繼續詢問,如果不是則說結束語。
????????此處通過使用運算類中的=判斷用戶輸入的是否為“是”
????5、詢問用戶幾年級,保存年級
????????此處需要一個變量保存用戶的年級
????6、詢問用戶數學難不難
????????此處需要一個變量保存用戶的回答
????7、根據用戶回答,選擇夸獎用戶或者鼓勵用戶
????????使用字符串積木中的“是否包含”積木判斷用戶是回答“不難”,如果是不難
根據我們分析的結果,我們很容易就可將程序實現
我們創建的變量有
name即名稱、is_primary即是否為小學、surname即姓、grade即年級、answer即回答
對話機器人的編程就完成了,是不是很簡單啊?當然同學們也可以發揮自己聰明的大腦,繼續豐富我們的對話機器人,讓機器人更加的聰明。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
