[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第111讲。

蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多文化教育研究中心合作推出的考试项目。STEM能力测试致力于综合评价学生的 STEM 水平,对学生的科技素养、逻辑思维和编程能力等三方面进行客观科学的测试。

烟花特效,本题是2023年3月12日举行的第14届蓝桥杯STEMA考试Scratch图形化编程真题初/中级组编程部分第4题,是初级组最后一题。题目要求创作一个烟花特效作品,用鼠标点击舞台任意位置时,在正下方出现一个烟花竖直向上移动,当移动到鼠标指针点击位置时爆炸,形成10个方向的烟花分裂效果。

先来看看题目的要求吧。

一.题目说明

编程实现:

烟花特效。

具体要求:

1). 运行程序,背景如图所示;

2). 用鼠标点击舞台星空中任意位置时,在鼠标正下方的地平线位置(舞台下方边缘)出现一个烟花,烟花竖直向上移动(颜色随机);

3). 当烟花移动到鼠标指针点击位置时爆炸,形成10个方向的烟花分裂效果(造型随机),且烟花分裂后在移动过程中逐渐变的透明;

4). 分裂出的烟花,碰到舞台任意边缘时消失;

5). 舞台上可以同时显示多个烟花。

评判标准:

  • 3分:满足"具体要求"中的1);

  • 4分:满足"具体要求"中的2);

  • 7分:满足"具体要求"中的3);

  • 7分:满足"具体要求"中的4);

  • 4分:满足"具体要求"中的5)。

二.思路分析

本题提供了两个角色,分别是上升和炸开,如图所示:

其中炸开角色有5个造型,如图所示:

其中上升角色功能比较简,当点击鼠标时,就生成一个克隆体,向上移动到鼠标所在位置,然后消失。

炸开角色是本作品的重难点,当上升角色消失时,要瞬间生成10个克隆体,形成10个方向上的烟花分裂效果,在这个过程中会碰到如下几个棘手的问题:

  • 如何瞬间生成10个克隆体

  • 怎么设置克隆体的方向

  • 如何避免克隆体生成克隆体

其中,第一点比较简单,只需要将克隆过程定义成自制积木,然后勾选”运行时不刷新屏幕“。

由于每个克隆体都有各自的方向,因此在生成克隆体的时候,需要设置好方向。10个克隆体围成一圈,两个克隆体之间的夹角是360 / 10 = 36。每生成一个克隆体,将本体旋转36度即可。

相对比较麻烦的是第三点,很多同学都会想到使用广播,即在上升角色消失时发送一个广播消息,炸开角色在接收到广播消息时瞬间生成10个克隆体。

但是,这里有一个陷阱,就是本体和克隆体都会接收广播,因而都会执行生成克隆体的代码,如此一来就会出现大量的克隆体。1个本体,生成10个克隆体,然后每个克隆体又生成10个克隆体,想想就有点可怕。

如何避免克隆体生成克隆体呢?超平老师给你提供两个思路。

思路一是不使用事件广播机制,利用滑行指令将上升角色的运动时间确定下来,比如1秒。在炸开角色中,检测是否按下鼠标,当按下鼠标时,等待1秒,然后开始生成克隆体。

思路二是利用私有变量区分本体和克隆体,当接收到广播消息时,只让本体进行克隆操作。

接下来,我们就以思路一为例,进入具体的编程实现环节。

三.编程实现

根据题目描述和思路分析,我们可以分角色来编写程序:

  • 上升角色

  • 炸开角色

1. 上升角色

默认情况下,上升角色处于隐藏状态,当在舞台上点击鼠标时,生成一个克隆体,这部分代码如下:

这里定义了两个变量”x坐标“和”y坐标“,用来记录鼠标的坐标。

一旦生成克隆体,就让克隆体向上运动直到鼠标所在位置,要实现角色向上移动,常见的方式有:

  • 重复执行直到 + 面向0方向 + 移动10步

  • 重复执行直到 + 将y增加10

  • 在1秒滑行到x、y

很显然,对于终点确定的运动,使用第三种方式更为简单,这也为我们使用思路一创造了条件。

在上升角色中,增加代码如下:

说明三点:

1). 由于两个角色的颜色是一致的,所以这里使用变量”颜色“来保存随机的颜色值;

2). 在Scratch中,颜色值的范围通常是1~100,但是适当的将范围变大,可以随机出更为丰富的颜色;

3). 每个克隆体都是从在鼠标正下方的地平线位置出发,其x坐标就是鼠标的x坐标,y坐标就是舞台下边缘,你可以设置为-180,大一点和小一点都是可以的。

2. 炸开角色

根据前面的思路分析,在炸开角色中,同样的需要对按下鼠标操作进行判断,在炸开角色中编写代码如下:

这里之所以等待1秒,是因为上升角色的运动持续了1秒钟,自制积木克隆的代码如下:

代码非常简单,先将本体移到鼠标所在位置,然后重复执行10次克隆指令,每克隆一个,就将本体右转36度,此处的重点是需要勾选”运行时不刷新屏幕“选项,如图:

一旦生成克隆体,就需要让克隆体运动起来,直到碰到舞台边缘,删除克隆体,对应的代码如下:

简要说明三点:

1). 炸开克隆体和上升角色的颜色是一致的;

2). 炸开角色有5个造型,需要在5个造型之间随机一个造型;

3). 烟花在移动过程中逐渐变透明,这是通过虚像特效来实现的,先将虚像设置为0,在移动过程中,每次增加1,当然这个数值可以自行调整。

至此,我们的烟花特效作品就创作好了,赶紧运行程序欣赏一下灿烂的烟花效果吧。

四.总结与思考

本题是初/中级组编程部分第4题,分数为25分,积木块数量56个左右 ,涉及到的知识点主要包括:

  • 运动编程,重点是不同方式的特点和使用场景;

  • 外观编程,包括显示、隐藏、切换造型和虚像特效;

  • 循环编程,三种不同循环的特点和使用场景;

  • 随机数指令;

  • 变量;

  • 自制积木,重点是不刷新屏幕的用法;

  • 克隆编程,尤其是克隆的特点和陷阱。

本题代码不多,逻辑也并不复杂,但却难住了很多孩子。究其原因,还是对于克隆编程理解得不够透彻,一不小心就陷入了克隆编程的陷阱。可以说,这是一道非常棒的题目,通过创作本题,相信每个孩子对克隆编程有一个更深入的理解。

再给你留一道思考题吧,前面的思路分析中提到,我们还可以使用事件广播机制,结合私有变量,确保只有本体在接收到广播消息时进行克隆,具体代码该如何实现呢,赶紧动手尝试一下吧。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香

烟花特效-第14届蓝桥杯STEMA测评Scratch真题精选相关推荐

  1. 找一找马里奥-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第110讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  2. 小猫踢足球-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第107讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  3. 小猫小狗玩数学-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第102讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  4. 列表排序-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第108讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  5. 打气球游戏-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第118讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  6. 判断小球-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第114讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  7. 王子与骑士-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第101讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  8. 太空大战-第14届蓝桥杯国赛Scratch真题中级组第6题

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第148讲. 太空大战,本题是2023年5月28日上午 ...

  9. 第14届蓝桥杯STEMA测评真题剖析-2022年11月27日Scratch编程初中级组

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第117讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

最新文章

  1. 快速沃尔什变换(FWT)及K进制异或卷积快速子集变换(FST)讲解
  2. python必背内容-python必背函数
  3. Spring Cache
  4. 退休当月要干到月底吗_在一线城市交社保那么多年,退休后到底在哪领养老金,要回老家吗?...
  5. 二进制编译安装mysql_MariaDB通用二进制编译安装详解
  6. 全球最大IXP为何选择与华为开展数据中心互联合作?
  7. 12个关键词,告诉你到底什么是机器学习
  8. 人事管理系统整站php,卡盟整站程序源码 php版
  9. ORACLE 中ROWNUM用法总结(转载)
  10. Map习题 - 三国武将基础信息处理
  11. ORACLE SQL功能优化系列(一)
  12. 《从Excel到R 数据分析进阶指南》一2.6 查看数据表数值
  13. matlab官网上的命令,MatLab 2018a 官方教程
  14. image.getSubimage(x, y, width, height)函数解析
  15. [工具]Microsoft To-Do,简约还是简陋?
  16. 一度智信:拼多多平台推广有哪些
  17. wget -O- ...|sh 的含义
  18. 怎么查服务器域名 mac系统,苹果6s肿么查看服务器域名
  19. 【建议收藏】2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Java篇)
  20. 整除判断游戏能显著提高小朋友的逻辑思维能力,问题要求如下:• 能同时被 3、5、7 整除• 能同时被 3、5 整除• 能同时被 3、7 整除• 能同时被 5、7 整除• 只能被 3、5、7

热门文章

  1. 2天300+作品,Midjourney将彻底颠覆食品包装设计!
  2. 【python】绘制内切圆
  3. IDEA 连接Mysql数据库教程
  4. 华院论文 | 面向数据驱动深度学习的快速分布鲁棒优化方法
  5. PreScan快速入门到精通第四十三讲用户自定义数据库
  6. 黑客入侵步骤(超详细版)
  7. gis合并dem数据_在arcgis下如何合并dem
  8. T1057 多边形内角和
  9. uniapp 视频遮挡顶部导航
  10. 增删查改html模板,dataGrid增删改查(EasyUI)示例源码