学习
实践
活动
专区
工具
TVP
写文章

霸气大师王ScratchMaths编程第33课:有条件的重复

学习目标

§ 解释: 怎样让一个角色指向另一个角色。

§ 探索: 怎样执行一段代码直到指定的条件为真时停止。

§ 探索:1. 碰到指定的颜色时,角色怎样响应;2. 怎样设计满足特定条件才运行的代码

课程准备

课程内容

§ 为Giga创建代码,使她也具备和Pico一样的行走的能力(不停行走,遇到舞台边缘就反弹)。可以通过复制代码的方式实现。

§ 点击Giga让其开始行走,然后往代码区拖入point towards...指令,让这个指令与代码区其他指令处于断开状态。

§ 打开point towards...指令的下拉列表, 选择Tera并点击该指令。在Giga行走过程中,尝试改变point towards...指令让其指向Nano或Pico并点击该指令。

§ 把point towards...指令连接到代码段中forever指令的上方(连接时确保是指向Tera),观察Giga到达Tera时发生什么现象。

如果我们希望Giga遇到Tera时可以停下来——而不是一直走过去。

§ 使用repeat until...指令取代forever指令。现在我们需要一个可以检测Giga是否到达Tera的指令,即repeat until...指令的条件。

§ 从Sensing指令组拖入一个touching...?指令到代码区,并使其与其他代码处于断开状态。从这个指令的下拉列表中选择Tera并点击这个指令——这个指令总是会说true或false。

§ 把touching Tera?指令添加到repeat until...里并测试这段代码, 现在Giga在到达Tera时应该可以停下来。

Pico在舞台上行走

§ 基于以上的代码,选择Pico为舞台角色,在when this sprite clicked指令下方加入 point in direction…指令,并使用pick random...to...指令设置其方向值。这意味着Pico将沿一个随机的方向行走并在碰到边缘时反弹(不是水平方向)。

我们希望Pico永远在舞台上行走,但在遇到特定颜色时返回。

§在Sensing指令组下往代码区空白处拖入touching color...?指令,激活其颜色选择器。

§用颜色选择器选择舞台上某个希望Pico碰到之后就返回的颜色,此后,当Pico接触到指定的颜色,touching color...?指令就可以起到条件检测的作用。

§为了测试touching color...?指令的作用,可以把Pico拖到到舞台上不同的颜色区域,并点击该指令查看该指令何时显示true,何时显示false。

至此已经可以通过指定条件来识别特定的颜色,下面的步骤添加指令以响应指定条件为true的情况。

§从Control指令组拖入if then…指令到代码区的空白区域,并在其中加入touching color...?指令作为条件,再加入turn right 180 degrees指令到该if指令内。

§当Pico还在行走时点击if then…指令,观察发生的现象。此时可再加入forever指令以包含该if代码块,那么上述条件将被反复检测。

§尝试改变Tero的跳跃行为,使其跳至高处然后缓慢降落直至到达舞台上某个指定的颜色。

注意

当我们点击某个条件指令时,它总是会报告true或false

讨论

1. 如果把point towards Tera指令移动到repeat until...指令的内部,会发生什么?

2. 我们学过哪三种不同的repeat指令?

练习

设计故事情节,让Giga在遇到不同的角色时有不同的表情或者特效。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181020G10RNF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券