我教“孩子”在10小時內精通Scratch-第5小時:簡易版Siri

又到了一周一度的教女兒編程的“Scratch時間”。

這次我想教她如何用Scratch做一個簡單的Siri。當然,Scratch沒有iPhone的Siri那么智能。家長可以拓展這節課里的“簡易版Siri”和孩子互動,比如家長問問題孩子寫答案,或者孩子寫問題家長寫答案。

先上效果圖:

效果圖

我依然是通過微信視頻教我的乖女兒。

視頻一接通,我就看到乖女兒對我那崇拜的表情。

女兒崇拜的表情

我跟她說,“乖寶寶,今天我們做一個簡單的Siri好不好啊?”

女兒聽到Siri就有了興趣,“好啊,我這就打開Scratch!”

我先告訴她做Siri的框架,“Siri每天被無數人調戲,真可愛。每次我們要調戲Siri,就打開它,調戲完了,就關閉它。下次要調戲了,再打開它。。。”

她問我,“是啊,網上還有很多花式調戲Siri的方法。比如“!&%&%&¥”

然后她跟我如數家珍地述說了調戲Siri的套路。

一切都是套路。

我把話題往編程上轉,“所以我們需要一個循環結構?不然只能調戲一次,那多沒意思。”

她反應也挺快,“對!我們可以用‘控制’里的‘重復執行’塊。”

‘控制’->‘重復執行’

“好聰明啊你!接著說。”我鼓勵她自己想。

她繼續分析,“我們還需要選擇一個背景,還需要小貓咪!”

我覺得我輕松不少,她已經上手了,“對!那你自己選擇一個背景吧!”

這是她給我的背景(新建背景->從背景庫中選擇背景->戶外->boardwalk):

新建背景->從背景庫中選擇背景->戶外->boardwalk

我調侃她,“把小貓咪拖到地上吧,別讓它掉海里啦!”

把小貓咪拖到地上

我又提醒她,“注意‘動作’按鈕里的‘移到xy’塊里的坐標,是不是變了?”

她也發現了,“真的耶,那應該是小貓咪現在的坐標!”

“Scratch這點很方便。你還可以讓小貓動起來,邊走邊和你聊天。”我給她提新要求。

“我嘗試下,是這么寫的嗎?”她把她寫的代碼給我看:

讓小貓動起來

“很對,給我看看效果。”

效果

“非常不錯!再看看怎么讓小貓咪和我們對話吧?”我教她一步一步地做這個項目。

她問我,“對話的代碼在哪里?”

我告訴她,“在‘偵測’按鈕里,你看那個‘詢問并等待’塊。”

“看到啦,給你看看我寫的代碼!”

效果是這樣的:

效果

我夸她,“做得不錯,貓貓問你的名字,舞臺下方也有輸入框讓你隨意輸入。”

她問我,“那小貓咪怎么知道我輸入的是什么呢?”

“這個問題問得好,你看偵測里的‘回答’塊,把它左邊的小方框點一下,就可以看到舞臺上會顯示你回答的內容。你試試吧~”

“我試試,還真的,挺簡單的,我明白啦!”這是她給我看的效果圖:

顯示回答

我趁機告訴她,“小貓咪知道了你的‘回答’后,你就可以設置它做出什么反饋啦,這就是Siri的基本原理。接下來你就自由發揮吧!”

“哈哈,我自己會玩啦!感覺編程不難嘛!”

過了五分鐘,她很得意地給我看了看她的代碼:

簡易Siri對話設置

這是對話的效果圖:

對話效果

我問她,“有沒有覺得今天的任務很簡單啊?”

她回答,“每次學一點嘛,我們又不趕時間。下次我們學什么呢?”

“這次呢,只是簡單接觸一下怎么聊天。但聊天的方式很受局限。下次我教你怎么運用‘數據’模塊里的‘鏈表’塊。比如,把我們聊天的內容放到‘鏈表’里,這樣可以更智能地聊天,甚至一直聊下去。”

然后我們就結束了這次玩耍,聊別的話題了。

本項目地址:

簡易版Siri


下次課,我會教女兒怎么運用‘鏈表’,就是下面這個:

數據->新建鏈表

我們也可以試試現在就創建一個‘鏈表’,看看里面有什么:

新建鏈表


鏈表(有一部分還沒完全翻譯成中文)

下次課,我會教女兒如何利用鏈表,讓我們做一個更智能的Siri。


轉載請注明:來自微信公眾號“君君玩科技”。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容