首页 > scratch> 详细内容
我教“孩子”在10小时内精通Scratch-第5小时:简易版Siri
日期:2019-05-03 

又到了一周一度的教女儿编程的“Scratch时间”。

这次我想教她如何用Scratch做一个简单的Siri。当然,Scratch没有iPhone的Siri那么智能。家长可以拓展这节课里的“简易版Siri”和孩子互动,比如家长问问题孩子写答案,或者孩子写问题家长写答案。

先上效果图:

效果图

我依然是通过微信视频教我的乖女儿。

视频一接通,我就看到乖女儿对我那崇拜的表情。

女儿崇拜的表情

我跟她说,“乖宝宝,今天我们做一个简单的Siri好不好啊?”

女儿听到Siri就有了兴趣,“好啊,我这就打开Scratch!”

我先告诉她做Siri的框架,“Siri每天被无数人调戏,真可爱。每次我们要调戏Siri,就打开它,调戏完了,就关闭它。下次要调戏了,再打开它。。。”

她问我,“是啊,网上还有很多花式调戏Siri的方法。比如“!&%&%&¥”

然后她跟我如数家珍地述说了调戏Siri的套路。

一切都是套路。

我把话题往编程上转,“所以我们需要一个循环结构?不然只能调戏一次,那多没意思。”

她反应也挺快,“对!我们可以用‘控制’里的‘重复执行’块。”

‘控制’->‘重复执行’

“好聪明啊你!接着说。”我鼓励她自己想。

她继续分析,“我们还需要选择一个背景,还需要小猫咪!”

我觉得我轻松不少,她已经上手了,“对!那你自己选择一个背景吧!”

这是她给我的背景(新建背景->从背景库中选择背景->户外->boardwalk):

新建背景->从背景库中选择背景->户外->boardwalk

我调侃她,“把小猫咪拖到地上吧,别让它掉海里啦!”

把小猫咪拖到地上

我又提醒她,“注意‘动作’按钮里的‘移到xy’块里的坐标,是不是变了?”

她也发现了,“真的耶,那应该是小猫咪现在的坐标!”

“Scratch这点很方便。你还可以让小猫动起来,边走边和你聊天。”我给她提新要求。

“我尝试下,是这么写的吗?”她把她写的代码给我看:

让小猫动起来

“很对,给我看看效果。”

效果

“非常不错!再看看怎么让小猫咪和我们对话吧?”我教她一步一步地做这个项目。

她问我,“对话的代码在哪里?”

我告诉她,“在‘侦测’按钮里,你看那个‘询问并等待’块。”

“看到啦,给你看看我写的代码!”

效果是这样的:

效果

我夸她,“做得不错,猫猫问你的名字,舞台下方也有输入框让你随意输入。”

她问我,“那小猫咪怎么知道我输入的是什么呢?”

“这个问题问得好,你看侦测里的‘回答’块,把它左边的小方框点一下,就可以看到舞台上会显示你回答的内容。你试试吧~”

“我试试,还真的,挺简单的,我明白啦!”这是她给我看的效果图:

显示回答

我趁机告诉她,“小猫咪知道了你的‘回答’后,你就可以设置它做出什么反馈啦,这就是Siri的基本原理。接下来你就自由发挥吧!”

“哈哈,我自己会玩啦!感觉编程不难嘛!”

过了五分钟,她很得意地给我看了看她的代码:

简易Siri对话设置

这是对话的效果图:

对话效果

我问她,“有没有觉得今天的任务很简单啊?”

她回答,“每次学一点嘛,我们又不赶时间。下次我们学什么呢?”

“这次呢,只是简单接触一下怎么聊天。但聊天的方式很受局限。下次我教你怎么运用‘数据’模块里的‘链表’块。比如,把我们聊天的内容放到‘链表’里,这样可以更智能地聊天,甚至一直聊下去。”

然后我们就结束了这次玩耍,聊别的话题了。

本项目地址:

简易版Siri


下次课,我会教女儿怎么运用‘链表’,就是下面这个:

数据->新建链表

我们也可以试试现在就创建一个‘链表’,看看里面有什么:

新建链表


链表(有一部分还没完全翻译成中文)

下次课,我会教女儿如何利用链表,让我们做一个更智能的Siri。



作者:君君玩科技
链接:https://www.jianshu.com/p/cd68dda878d6
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。