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