Scratch对话机器人

网友投稿 2019-08-04 13:58

https://cdn.china-scratch.com/timg/190806/135P114O-0.jpg

上一期我们完善了大鱼吃小鱼的游戏,今天我们使用Scratch完成一个对话机器人的雏形。

首先我们来了解一下今天的基础知识点,很重要哦!!!

字符串

    字符串是编程中非常重要的一种数据类型,只要使用计算机和互联网就离不开字符串。无论是网上的各种文章,我们键盘输入的各种内容,屏幕上展示的数字、符号、文本等等均属于字符串。

    在Scratch中为我们提供了字符串相关的积木在运算类积木中。

https://cdn.china-scratch.com/timg/190806/135P214b-1.jpg

1、第一个为连接俩个字符串为一个字符串

2、获取字符串中的第几个字符

3、获取字符串中有多少个字符

4、判断字符串中是否包含了某个字符

接下来我们做一个可以和人对话的机器人吧

机器人要求:

    1、机器人询问名字,回答之后机器人要分析出这个名字的姓

    2、使用姓+同学称呼用户,并且询问是否在上小学

    3、如果回答“是”,那么就继续询问年级,否则直接回复用户“你已经超出我的认知范围啦,我要再努力努力才能和你对话哦!”。结束机器人对话

    4、询问用户年级之后,询问“数学难不难”

    5、如果用户回答包含“不难”的字符,给用户说“你好厉害哦”,否则告知用户,要好好学习。

接下来我们分析机器人的要求,并拆分问题,然后通过使用Scratch一步步完成机器人

  1. 创建一个变量用来保存用户输入的名称

  2. 创建一个变量用来保存用户的姓(此处暂不考虑复姓,即姓只有一个字)

    此处可通过使用字符串积木中获取第几个字符的积木获取第一个字符作为姓,赋值给变量

    3、使用字符串拼接姓和“同学”,然后询问是否在上小学

        此处需要一个变量,保存用户回答的问题,方便在后面的判断中使用

    4、使用如果...否则积木判断用户回答是否为“是”(此处我们只考虑用户只会回答是或者不是),如果为是则继续询问,如果不是则说结束语。

        此处通过使用运算类中的=判断用户输入的是否为“是”

    5、询问用户几年级,保存年级

        此处需要一个变量保存用户的年级

    6、询问用户数学难不难

        此处需要一个变量保存用户的回答

    7、根据用户回答,选择夸奖用户或者鼓励用户

        使用字符串积木中的“是否包含”积木判断用户是回答“不难”,如果是不难

根据我们分析的结果,我们很容易就可将程序实现

https://cdn.china-scratch.com/timg/190806/135P25163-2.jpg

我们创建的变量有

name即名称、is_primary即是否为小学、surname即姓、grade即年级、answer即回答

对话机器人的编程就完成了,是不是很简单啊?当然同学们也可以发挥自己聪明的大脑,继续丰富我们的对话机器人,让机器人更加的聪明。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com