旋转旋涡-第16届蓝桥第3次STEMA测评Scratch真题第5题

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

第16届蓝桥第3次STEMA测评已于2024年12月22日落下帷幕,编程题一共有5题(初级组只有前4道编程题),分别如下:

旋转旋涡,本题是2024年12月22日举行的蓝桥STEMA测评Scratch编程中级组编程第5题。题目要求编程创作旋转旋涡作品,旋涡持续逆时针旋转,然后使用画笔绘制两个空心圆和9个实心圆,按下左键,实心圆逆时针持续转动,按下右键,实心圆顺时针持续转动。

先来看看题目的要求吧。

一.题目说明

编程实现:

旋转旋涡。

具体要求:

1). 点击绿旗,角色、背景如图所示;

图片

2). 1 秒后,漩涡角色开始逆时针持续旋转;

3). 以漩涡角色的中心为圆心,绘制一个半径为 60 的蓝色圆(能看到绘制的过程),

如图所示;

图片

4). 1 秒后,以漩涡角色的中心为圆心,瞬间绘制一个半径为 110 的红色圆,如图所

示;

图片

5). 1 秒后,瞬间绘制 9 个颜色各不相同的实心圆,它们均匀分布在蓝色圆与红色圆

之间,如图所示;

注意:9 个实心圆不能触碰到蓝色圆与红色圆。

图片

6). 如果按下键盘←按键,9 个实心圆开始逆时针持续转动;

7). 如果按下键盘→按键,9 个实心圆开始顺时针持续转动;

8). 重复执行“具体要求”6)、7)。

二.思路分析

本题只有1个旋涡角色,如图所示:

图片

本题考查的知识点包括画笔、运动编程、按键处理、事件广播机制、变量和自制积木等。

本题和第1次STEMA测评的第5题《旋转的图形-第16届蓝桥第1次STEMA测评Scratch真题第5题》非常类似,重点都是画笔编程。

旋涡角色的功能比较简单,这里就不再讨论了,我们重点来分析圆形绘制及旋转的相关功能和效果。

1. 绘制空心圆

在Scratch编程中,空心圆的绘制一般有如下两种方式:

  • 边线法;

  • 中心法;

通常来说,我们可以将圆形看成是正360边形,边线法的核心思想是选定一个起点,移动一定的距离,然后旋转1度,重复360次,代码如下:

图片

中心法的核心思想是确定一个圆心,离开圆心一定的距离(半径),绘制一个点,然后回到圆心,旋转1度,再移动半径的距离,绘制下一个点,重复执行360次,代码如下:

图片

两种方法本身没有优劣之分,选择哪种方案要看具体的场景和需求,通常来说,对于有确定中心的图形来说,选择后者更为简单。

本作品要绘制两个不同颜色和大小的空心圆,为了重复利用代码,可以定义一个自制积木,用于绘制指定半径的空心圆。

2.绘制实心圆

实心圆则比较简单,在Scratch编程中,实心圆本质上就是一个点,只需要根据要求设置好画笔的大小即可。

3.旋转图形

关于图形的旋转,在之前的教程中已经介绍过很多次了,其本质就是先擦除再重新绘制,然后重复这个过程,只是每一次绘制的方向发生了变化。

这里的实心圆有左转也有右转,按下←键,实心圆逆时针旋转(左转),按下→键,实心圆顺时针旋转(右转),怎么控制呢?

其实很简单,运用变量思维,定义一个速度变量,默认值为0,按下←键时,将其设置为负数(比如-2),按下→键时,设置为正数(比如2),在主代码中,只需要旋转速度变量即可。

由于绘制图形的代码不能直接在旋涡角色中进行,因此我们需要添加一个画笔角色,一般建议选择画笔,如下:

图片

    思路有了,接下来,我们就进入具体的编程实现环节。

    三.编程实现

    根据上面的思路分析,我们分4步编写程序:

    • 旋涡角色的旋转

    • 绘制空心圆

    • 绘制实心圆

    • 圆形的旋转

    1. 漩涡角色的旋转

    在旋涡角色中编写代码如下:

    图片

    代码非常简单,说明2点:

    1). 一定要养成初始化的好习惯,设置角色的位置;

    2). 左转的度数可以自行设定,题目没有具体的要求,不要太快,也不要太慢;

    2. 绘制空心圆

    根据前面的思路分析,我们采取中心法,切换到画笔角色,定义自制积木如下:

    图片

    代码不多,说明3点:

    1). 这里的画笔粗细设置为2,是根据题目的效果图进行调整得到的,之所以放到自制积木中,是因为后续绘制实心圆还需要改变画笔的粗细;

    2). 打点包括落笔和抬笔两个动作,落笔之后立刻抬笔,不要漏了抬笔;

    3). 题目要求看到绘制的过程,因此自制积木不能勾选“运行时不刷新屏幕”选项,一定要细心了;

    3. 绘制实心圆

    接下来,定义绘制9个实心圆的自制积木,代码如下:

    图片

    代码相对要多一些,强调5点:

    1). 要确保每一次绘制的都一样,因此在绘制之前先设置好颜色;

    2). 画笔的粗细,也就是实心圆的大小,是根据题目给出的效果进行调整得到的,题目并没有具体的大小,通常需要多尝试几次;

    3). 这里要绘制9个实心圆,因此要重复9次,旋转40度,9 * 40 = 360,这就是经典的“360万能公式”模型的应用;

    4). 在绘制9个实心圆的时候,采取的也是中心法,从中心点出发,移动到85步的位置,绘制一个实心圆后回到中心,右转40度后,再重复这个过程;

    5). 题目要求瞬间绘制,因此在定义自制积木时要勾选“运行时不刷新屏幕”选项;

    在画笔角色中,编写代码如下:

    图片

    点击绿旗,执行代码,效果如下:

    图片

    4. 圆形的旋转

    根据前面的思路分析,旋转的核心是先擦除再重新绘制,这里需要注意一个细节,即所有图形的绘制要在瞬间完成。

    前面我们在绘制空心圆时,是慢慢绘制的,可以看到绘制过程的,因此需要重新定义一个自制积木,用于瞬间绘制两个空心圆,代码如下:

    图片

    代码非常简单,定义“快速绘制空心圆”自制积木的时候,一定要勾选“运行时不刷新屏幕”选项。

    接下来,在绿旗代码的末尾继续编写如下代码:

    图片

    这就是图形旋转的核心代码,每次先擦除所有图形,再快速绘制两个空心圆和9个实心圆,默认情况下,速度为0,因此图形是静止的。

    在循环之前,发送了一个“按键”广播,用于处理按键的,在画笔角色中,继续编写代码如下:

    图片

    代码不难,强调两个细节:

    1). 之所以使用广播而不是直接使用“当按下xx键”指令,是确保在图形绘制好之后按键才有效,而不是任何时候按键都能改变速度的值;

    2). 每次按键时增加了一个“按键不成立”组合指令,是通常的做法,当然在这个作品中不加也是可以的,不影响效果;

    至此,整个作品就创作好了。

    四.总结与思考

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

    • 运动编程;

    • 画笔编程;

    • 按键处理;

    • 事件广播机制;

    • 自制积木;

    这是本次stema测评的第5题,也是中级组最后一题,初级组没有此题,难度不小,创作时间约30分钟左右。

    本题的重点有两个,一是使用中心法绘制空心圆和实心圆,二是让图形旋转起来,请熟练掌握如下几个模型:

    • 中心法绘制;

    • 360万能公式;

    • 先擦除再绘制;

    • 自制积木不刷新;

    • 变量思维;

    实际上,最近3次的STEMA测评最后一题都是画笔题目,都是基于这几个模型的,你可以将这几道题目放在一起来学习:

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

    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
    红包 添加红包
    表情包 插入表情
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值