少儿创意学编程(Scratch基础篇):第4课——聊天机器人
《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。
本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如动画,故事和游戏等等。本课程共设有6个项目,知识点由简到难,循序渐进,带领孩子一步一步体验创意编程世界的奇妙。具体技能知识点如下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-20b39f97d4e84856.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
那么,开始学习第4课吧!
![](https://upload-images.jianshu.io/upload_images/1469819-5159dc4899806d6a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
课程简介
在这个项目中,老师带领你做一个会聊天的机器人。
通过这个项目,你将学会新的知识点——条件控制。
体验地址:https://kada.163.com/project/761171-259196.htm
如下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-decf13024960b410.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1469819-7704cc5fabffd106.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
首先来布置一个地球的背景,添加一个机器人。
动作清单:
(1.1)步骤 1:打开Scratch。
【具体操作】你可以打开下载好的Scratch离线编辑器(找不到的话,可以联系我)。
打开后,你会看到类似下面的界面。
![](https://upload-images.jianshu.io/upload_images/1469819-fc6253d1a9a27c18.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(1.2)步骤 2:为舞台添加机器人和背景。
【具体操作】请参考《第1课:摇滚乐队》中(1.2)到(1.5)的内容。完成后,界面如下图。
(1.3)保存项目。
【具体操作】请参考《第1课:摇滚乐队》中(1.6)的内容。
![](https://upload-images.jianshu.io/upload_images/1469819-8c84e2fb8e538bf0.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
任务2中,你可以让机器人说话问问题了。
动手清单:
(2.1)步骤 1:让机器人说话(继续搭积木)。
【具体操作】选中机器人 → 找到并搭建如下图所示的方块。
![](https://upload-images.jianshu.io/upload_images/1469819-f62b7da8530c84c9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
点击机器人,看看他有什么反应呢?演示如下。
![](https://upload-images.jianshu.io/upload_images/1469819-8aa42a3d08ca0eb7.gif?imageMogr2/auto-orient/strip)
(2.2)步骤 2:存储名字(继续搭积木)。
你可以用上节课学习的内容,将输入的名字存储到变量中。
【具体操作】创建一个“名字”的变量 → 将“名字”变量设置为“回答”的内容。下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-615b05b1a1b3b305.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
相信你已经可以非常熟练地找到并搭建积木了。“回答”方块就在“侦测”模块中,根据颜色就能找到。下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-b41d9c05f950e9fe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(2.3)步骤 3:改变说话的内容(继续搭积木)。
机器人每次都回答“真好听的名字”,是不是有点单调呢?我们可以让他每次都回答不一样的内容。
【具体操作】使用“连接”方块。演示如下。
![](https://upload-images.jianshu.io/upload_images/1469819-7fc2bd67a971550b.gif?imageMogr2/auto-orient/strip)
挑战一下
除了名字外,你能让机器人再问一些其它的问题吗?
(2.4)保存项目。
【具体操作】请参考本课(1.3)的内容。
![](https://upload-images.jianshu.io/upload_images/1469819-d30cd6a624f2cd2d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
根据输入的内容,你可以帮助机器人做出不同的决定和反应。
动手清单:
(3.1)步骤1:是非问题(搭积木)。
你可以让机器人问一个是非问题,然后根据输入的内容,让机器人做出选择。
【具体操作】找到并搭建如下图所示的方块。
![](https://upload-images.jianshu.io/upload_images/1469819-449e8557bb302733.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(3.2)步骤2:如果...否则(搭积木)。
在(3.1)中你会发现,如果你没有输入“是”,机器人没有任何反应。所以,你还要考虑除了回答“是”之外的情况。
【具体操作】找到并搭建如下图所示的方块。
![](https://upload-images.jianshu.io/upload_images/1469819-dfc0ad3f85739f05.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
那么这时,机器人会根据你的输入内容,“是”还是“不是”,显示不同的内容。下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-a6f62bf60982c61a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
挑战一下
你能根据输入的内容,改变一下机器人的表情吗?尝试一下“造型”选项卡。参考下图。
![](https://upload-images.jianshu.io/upload_images/1469819-40124513f47c6823.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(3.3)保存项目。
【具体操作】参考本课(1.3)的内容。
![](https://upload-images.jianshu.io/upload_images/1469819-e9fadba62a513cf0.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
根据条件控制,你还可以做很多有趣的事情。在任务4中,机器人就可以带领我们飞向月球。
动作清单:
(4.1)步骤1:为舞台添加“月球”背景。
【具体操作】打开“背景库” → 选中“月球”图片 → 点击 确定。相信你已经非常熟练添加背景或角色了。下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-4db49e0c8f763a75.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(4.2)步骤2:让机器人带我们去月球(搭积木)。
【具体操作】继续在原来积木(代码)的基础上,添加搭建方块。下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-f497f53db4b71939.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(4.3)步骤3:设定初始背景造型(搭积木)。
【具体操作】一开始对话的时候,确保背景为“地球”造型。因此继续在原来积木(代码)的基础上,添加搭建下面的方块。下图所示。
![](https://upload-images.jianshu.io/upload_images/1469819-308ef7eb708499e0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
挑战一下
如果你不想去月球的话,机器人能不能做出跳一跳的效果呢?参考下图。
![](https://upload-images.jianshu.io/upload_images/1469819-429fa77004923d64.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(4.4)保存项目。
【具体操作】参考本课(1.3)的内容。
总结
在这个项目中,你应该体验到“如果...否则”方块的魅力。通过这个方块,你还可以做出很多有意思的事情,发挥你的想象,制作一个属于你自己的聊天机器人吧。
即使赚了全世界,却失去了自己,又有什么意义呢?
![](https://upload-images.jianshu.io/upload_images/1469819-886fc65110513d57.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)