11 Scratch中广播——听话的机器人

  1. 创设故事情景

小猫“抓抓”在城堡的长廊上遇到了一个非常听话的机器人,可以命令它走路、唱歌、跳舞,而且更为神奇的是,通过学习,它能够掌握更多地本领。

 

单击此处,在线试玩本课的在线范例,看看小猫“抓抓”城堡的长廊上遇到机器人有多么听话。

 

单击此处,打开本课的空白练习项目页,再单击右上角的“转到设计页”按钮,转到“作品设计页”。在作品设计页添加如上图所示的舞台背景及角色。同时设置这些角色的位置、大小等初始化代码如果觉得有困难,可以单击此处或者扫描右边的二维码,了解详细的操作步骤。

 

 

  1. 认识Scratch中的“广播

Scratch中,可以利用“广播”功能命令一个或者多个角色执行事先设计好地脚本。与“广播”功能相关的指令都在“事件”类别中,共有三个。可以单击此处或者扫描右边的二维码,了解详细的操作步骤。

使用 指令可以发送需要广播的消息。单击指令参数中的下拉列表,在打开的如右图所示“New Message”对话框的“消息名称”中输入消息的具体内容,输入的内容可以是中文、英文或者数字符号。

不同的是, 这个指令,要等接收到这条广播的角色所设置的代码全部执行完毕后,才能继续执行后续的程序。

广播的消息会发送给所有角色,当某个角色的 指令参数与广播的消息名称相同时,才会执行这个指令下方的程序代码;

 

在作品练习设计页中,你能够设计脚本,通过使用广播功能命令“机器人”回家?比如让机器人回到走廊的中间,面向右方

如果觉得有困难,可以单击此处或者扫描右边的二维码,了解详细的操作步骤。

 

 

设置完“回家”这条消息需要执行的代码以后,可以在初始化代码中添加广播这条消息(如下图所示)。单击“开始旗”运行程序后,机器人就会回到走廊中间。

也可以在 或者 指令中选择需要广播的消息,然后双击运行指令,也能够使机器人回到走廊中间。

 

 

  1. 通过广播教机器人更多本领
    1. 动作类的本领:

    1. 心情本领

    1. 才艺本领

    1. 外形变化的本领

 

在作品练习设计页中,你能够设计脚本教机器人其它更好玩的本领吗?运行调试成功后,把你设计的本领名称、能够完成的功能填写到学习手册上。

如果觉得有困难,可以单击此处或者扫描右边的二维码,了解详细的操作步骤。

 

 

  1. “询问”并广播消息

由于机器人的本领很多,不再适合放在初始化代码中执行,也不适合通过双击指令执行。

可以使用 指令询问需要执行的命令; 指令执行具体的命令由于每次命令内容可能不相同,因此可以使用 令代替具体的消息内容可以单击此处或者扫描右边的二维码,了解详细的操作步骤。

 

请在作品练习设计页中,根据下图所示搭建脚本并运行,遇到了什么问题你能够编写脚本进一步完善程序吗?把你如何解决这个问题的办法填写到学习手册上。

 

 

  1. 一次广播多条消息

通过以上步骤的操作,机器人能够执行“询问”所指定的命令,但可惜每次只能执行一个命令。如果要一次输入多条命令,让机器人依次执行,可以按以下步骤操作,也可以单击此处或者扫描右边的二维码,了解详细的操作步骤。

1.              利用 指令,重复执行输入的各条命令。由于每次输入的命令长度(也就是重复执行的次数)是不固定的,可以使用 指令的组合:,代替具体的重复执行次数。

2.              在重复执行的程序代码中, 指令的广播内容应该能够根据实际输入的命令一条条执行。这就需要先新建一个计数用的变量 ,与 以及 指令组合:,用于依次从“询问”所得到的 中抽取每一条具体命令。

3.              对于变量 执行完一次命令后,都要用 指令累计加“1”,以便于重复执行的时候抽取下一条命令。特别需要注意的是,在重复指令模块执行之前,应该使用 指令初始化变量 的值为“1”。

 

  1. 根据以上的介绍,将原来的脚本改为能够一次广播多条消息的脚本。
  2. 如果机器人的本领不是由一个字母或者一个中文命名的,会出现什么问题?可以如何解决?先编写脚本试一试,然后把你的解决办法填写到学习手册上。

 

 

 

 

本课的范例中,如果输入的命令是没有定义过的,程序执行结果会怎么样?能不能增加判断功能,如果输入的命令没有定义,机器人会有相应的提示