少儿创意学编程(Scratch基础篇):第4课——聊天机器人

《少儿创意学编程(Scratch基础篇)》,参考了英国公益组织发起的“code club(代码俱乐部)”——少儿免费学编程活动。愿为中国的少儿创意编程教育尽微薄之力,对国内的家长、信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展。

本课程以Scratch软件为教育工具。Scratch是一种图形化编程语言,由麻省理工学院开发。孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如动画,故事和游戏等等。本课程共设有6个项目,知识点由简到难,循序渐进,带领孩子一步一步体验创意编程世界的奇妙。具体技能知识点如下图所示。

那么,开始学习第4课吧!

课程简介

在这个项目中,老师带领你做一个会聊天的机器人。

通过这个项目,你将学会新的知识点——条件控制。

体验地址:https://kada.163.com/project/761171-259196.htm

如下图所示。

首先来布置一个地球的背景,添加一个机器人。

动作清单:

(1.1)步骤 1:打开Scratch。

【具体操作】你可以打开下载好的Scratch离线编辑器(找不到的话,可以联系我)。

打开后,你会看到类似下面的界面。

(1.2)步骤 2:为舞台添加机器人和背景。

【具体操作】请参考《第1课:摇滚乐队》中(1.2)到(1.5)的内容。完成后,界面如下图。

(1.3)保存项目。

【具体操作】请参考《第1课:摇滚乐队》中(1.6)的内容。

任务2中,你可以让机器人说话问问题了。

动手清单:

(2.1)步骤 1:让机器人说话(继续搭积木)。

【具体操作】选中机器人 → 找到并搭建如下图所示的方块。

点击机器人,看看他有什么反应呢?演示如下。

(2.2)步骤 2:存储名字(继续搭积木)。

你可以用上节课学习的内容,将输入的名字存储到变量中。

【具体操作】创建一个“名字”的变量 → 将“名字”变量设置为“回答”的内容。下图所示。

相信你已经可以非常熟练地找到并搭建积木了。“回答”方块就在“侦测”模块中,根据颜色就能找到。下图所示。

(2.3)步骤 3:改变说话的内容(继续搭积木)。

机器人每次都回答“真好听的名字”,是不是有点单调呢?我们可以让他每次都回答不一样的内容。

【具体操作】使用“连接”方块。演示如下。

挑战一下

除了名字外,你能让机器人再问一些其它的问题吗?

(2.4)保存项目。

【具体操作】请参考本课(1.3)的内容。

根据输入的内容,你可以帮助机器人做出不同的决定和反应。

动手清单:

(3.1)步骤1:是非问题(搭积木)。

你可以让机器人问一个是非问题,然后根据输入的内容,让机器人做出选择。

【具体操作】找到并搭建如下图所示的方块。

(3.2)步骤2:如果...否则(搭积木)。

在(3.1)中你会发现,如果你没有输入“是”,机器人没有任何反应。所以,你还要考虑除了回答“是”之外的情况。

【具体操作】找到并搭建如下图所示的方块。

那么这时,机器人会根据你的输入内容,“是”还是“不是”,显示不同的内容。下图所示。

挑战一下

你能根据输入的内容,改变一下机器人的表情吗?尝试一下“造型”选项卡。参考下图。

(3.3)保存项目。

【具体操作】参考本课(1.3)的内容。

根据条件控制,你还可以做很多有趣的事情。在任务4中,机器人就可以带领我们飞向月球。

动作清单:

(4.1)步骤1:为舞台添加“月球”背景。

【具体操作】打开“背景库” → 选中“月球”图片 → 点击 确定。相信你已经非常熟练添加背景或角色了。下图所示。

(4.2)步骤2:让机器人带我们去月球(搭积木)。

【具体操作】继续在原来积木(代码)的基础上,添加搭建方块。下图所示。

(4.3)步骤3:设定初始背景造型(搭积木)。

【具体操作】一开始对话的时候,确保背景为“地球”造型。因此继续在原来积木(代码)的基础上,添加搭建下面的方块。下图所示。

挑战一下

如果你不想去月球的话,机器人能不能做出跳一跳的效果呢?参考下图。

(4.4)保存项目。

【具体操作】参考本课(1.3)的内容。

总结

在这个项目中,你应该体验到“如果...否则”方块的魅力。通过这个方块,你还可以做出很多有意思的事情,发挥你的想象,制作一个属于你自己的聊天机器人吧。

即使赚了全世界,却失去了自己,又有什么意义呢?

原文地址:http://blog.51cto.com/13845684/2134544

时间: 2024-10-11 07:16:59

少儿创意学编程(Scratch基础篇):第4课——聊天机器人的相关文章

少儿创意学编程(Scratch基础篇):第3课——捉鬼敢死队

<少儿创意学编程(Scratch基础篇)>,参考了英国公益组织发起的"code club(代码俱乐部)"--少儿免费学编程活动.愿为中国的少儿创意编程教育尽微薄之力,对国内的家长.信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展. 本课程以Scratch软件为教育工具.Scratch是一种图形化编程语言,由麻省理工学院开发.孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如动画,故事和游戏等等.本课程共设有6个项目,知识点由简到难,循序渐进,带领孩

少儿创意学编程(Scratch基础篇):第5课——绘画板

<少儿创意学编程(Scratch基础篇)>,参考了英国公益组织发起的"code club(代码俱乐部)"--少儿免费学编程活动.愿为中国的少儿创意编程教育尽微薄之力,对国内的家长.信息教师和相关教育机构有所帮助,共同促进软件素质教育的发展. 本课程以Scratch软件为教育工具.Scratch是一种图形化编程语言,由麻省理工学院开发.孩子们可以像搭积木一样,拖动和组合代码块,制作丰富多样的程序,比如动画,故事和游戏等等.本课程共设有6个项目,知识点由简到难,循序渐进,带领孩

shell脚本编程之基础篇(二)

shell脚本编程之基础篇(二) ============================================================================== 概述: ============================================================================== 退出状态 ★进程使用退出状态来报告成功或失败 ◆0 代表成功,1-255代表失败 ◆$? 变量保存最近的命令退出状态 (查看:echo $?)

sql系列(基础篇)-前言 课前补充知识

前言 课前补充知识 Number(p,s) Number(p,s):数字类型,p 表示数字的有效长度(从数字的左边第 1 位不为 0 的开始算起,直到最右边的长度:取值范围 0~38 位),s 表示数字的精度(即小数点右边的位数,取值范围-84~127 位): Varchar2(s) Varchar2(s):可变长的字符类型,s 表示字符串的长度,取值范围 1~4000 位: Char(s) Char(s):定长的字符类型,s 表示字符串的长度,取值范围 1~2000 位: Date Date:

(转)Android高性能编程(1)--基础篇

关于专题     本专题将深入研究Android的高性能编程方面,其中涉及到的内容会有Android内存优化,算法优化,Android的界面优化,Android指令级优化,以及Android应用内存占用分析,还有一些其他有关高性能编程的知识.    随着技术的发展,智能手机硬件配置越来越高,可是它和现在的 PC 相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要求远远高于 PC 的桌面应用程序.以上理由,足以需要开发人员更加专心去实现和优化你的代码了.选择合适的算

Win32编程API 基础篇 -- 1.入门指南 根据英文教程翻译

入门指南 本教程是关于什么的 本教程的目的是向你介绍使用win32 API编写程序的基础知识(和通用的写法).使用的语言是C,但大多数C++编译器也能成功编译,事实上,教程中的绝大多数内容都适用于任何可以连接API的语言,包括Java.Assembly和Visual Basic:我不会向你呈现任何跟这些语言相关的代码,这需要你在本教程的指导下自己去完成,有一些人在本API的基础上使用其他语言进行编程取得了相当的成功. 本教程不会教你C语言,也不会告诉你怎样去运行你特定的编译器(Borland C

Win32编程API 基础篇 -- 6.菜单和图标

菜单和按钮 例子:菜单1 本小节仅仅向你展示如果向你的窗口中加入一个基本的菜单,通常你会用到一个提前制作好的菜单资源,这会是一份.rc文件并且会被编译链接进你的.exe可执行程序中.这是具体的流程做法,而商业编译器将会有一个资源编辑器,你可以通过这个编辑器来创建菜单,但是在这个例子中我会向你展示如何用.rc文件的手动写法.通常我会配合使用一个头文件,在资源文件和源文件中我们需要引入这个头文件,这个头文件中包含了控制和菜单选项等的标识符. 在本小节的栗子中,你可以按照指示在simple_windo

Win32编程API 基础篇 -- 3.消息处理 根据英文教程翻译

消息处理 例子:窗口点击 好的,现在我们已经得到一个窗口了,但我们什么也做不了除了DefWindowProc()允许窗口大小被调整,最大最小化等...这不是很激动人心啊 在接下来的一小节中我将向你展示如何修改现有的程序,让它做一些新的事情,这样我就可以告诉你,“处理消息然后这样做...”,我会明白我的意思是什么并且在不需要看完完整的栗子的基础上完成它.所以不管怎样,集中注意力 OK,对初学者来说拿最近的一个窗口程序的代码,保证编译通过并且正常运行,然后你就可以在这份代码的基础上进行一些小修改,或

Java中基于UDP协议的的网络编程(基础篇)

---恢复内容开始--- 一:什么是网络编程? 通俗的来说, 网络编程就是编写程序,让联网的两个或多个设备(例如计算机)之间进行数据传输.Java语言也支持网络编程,JDK提供的 java.net包提供了很多于网络编程相关的类,来支持网络编程方面的学习. 二:java网络编程所使用的协议? 有了计算机网络的基础,我们不难理解,在java中,网络编程是基于网络传输协议的. java网络编程,可以是基于TCP协议的,也可以基于UDP协议的.那么首先我们得知道tcp协议和udp两种协议的区别. 区别: