[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥真题,这是Scratch蓝桥真题解析第204讲。
第16届蓝桥第1次STEMA测评已于2024年10月20日落下帷幕,编程题一共有5题(初级组只有前4道编程题),分别如下:
旋转的图形,本题是2024年10月20日举行的蓝桥STEMA测评Scratch编程中级组编程第5题。题目要求编程创作旋转的图形作品,舞台上先出现6个正方形组合,然后出现10颗小星星均匀分布在以舞台中心为圆心的圆周上,拖动滑杆改变r的值,r为1时图形持续右转,r为-1时图形持续左转。
先来看看题目的要求吧。
一.题目说明
编程实现:
旋转的图形。
具体要求:
1). 点击绿旗,在舞台上出现滑杆形式的变量 r,取值范围为-1、0、1,默认值为 0,如图所示;
2). 1秒后,在舞台上绘制出一个红色正方形(边长为 60),如图所示;
3). 1秒后,呈现出一个由6个大小相同、颜色各不相同的正方形组成的组合图形,6个正方形均匀分布,且6个正方形有一个共用顶点,如图所示;
4). 1秒后,出现10颗颜色各不相同的星星均匀分布在以6个正方形的共用顶点为圆心的圆周上,如图所示;
5). 拖动滑杆改变变量r的值,当值为 -1 时,10 颗星星同时逆时针持续转动,当值为0时,10颗星星停止转动,当值为1时,10颗星星同时顺时针持续转动(转动过程中每颗星星的颜色不会发生变化);
6). 拖动滑杆改变变量r的值,当值为-1时,正方形组合图形顺时针持续转动,当值为0时,正方形组合图形停止转动,当值为1时,正方形组合图形逆时针持续转动(转动过程中每个正方形的颜色不会发生变化)。
二.思路分析
本题只有1个角色,就是小星星,如图所示:
本题考查的知识点包括变量、画笔、运动编程、图章(或克隆)和自制积木等。
根据题目的描述,我们可以将作品分成如下几个模块:
-
滑杆变量
-
画6个正方形
-
正方形的旋转
-
复制10颗星星
-
星星的旋转
接下来我们逐一分析和讨论。
1.滑杆变量
在scratch中,变量有3种显示方式,分别为正常显示、大字显示和滑杆,如图:
当创建一个新的变量时,默认为正常显示模式,右键单击变量,弹出下拉菜单,选择滑杆就可以切换到滑杆模式。
再次右键单击变量,弹出下拉菜单,如下:
选择改变滑块范围菜单,可以设置变量的最小值和最大值,如图:
设置完成后,拖动滑杆就可以改变变量的值了。
2.画6个正方形
绘制正方形比较简单,直接套用“360万能公式”模型即可,如下:
那么如何绘制6个正方形呢?
如果将一个正方形作为整体,看作是一条边,那么就相当于再画一个正六边形了,所以再次使用“360万能公式”模型即可。
为了简化代码,可以使用自制积木来实现正方形和6个正方形的绘制。
3.正方形的旋转
首先,我们要明白,绘制出来的图形本身是不能移动和旋转的。所谓的移动和旋转只不过是先擦除再重新绘制,并不断地重复这个过程。
我们可以让画笔每次右转r度,再重新绘制图形。
变量r的取值有3种,分别是-1、0、1,r的初始值为0,此时画笔方向始终不变,图形就不会旋转。
当变量r的值为1时,每次都先擦除当前的图形,右转1度后再重新绘制图形,看起来就是右转的效果,同理当变量r的值为-1时,图形会持续左转。
4.复制10颗星星
题目提供了星星角色,这说明星星不需要通过画笔来绘制的。在Scratch编程中,复制角色通常有如下两种方式:
-
克隆
-
图章
在创作游戏时,大部分情况下我们都会选择克隆方案,因为可以通过程序控制克隆体,从而实现更丰富的功能和效果。
图章相对比较简单,通常只是起一个展示效果。
但是,在这个作品中,使用图章反而更加简单,直接使用“360万能公式”模型,每隔36度通过图章复制一颗小星星。
5.星星的旋转
怎么让图章复制出来的角色旋转起来呢?
其实和绘制图形一样,只是方向刚好相反,先擦除,左转r度,再重新图章即可,这也是为什么选择图章的原因。二者旋转的原理一模一样,包括速度也可以保持一致,效果非常棒。
思路有了,接下来,我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析,我们分4步来编写程序:
-
创建变量
-
创建自制积木绘制正方形
-
正方形旋转
-
复制星星并旋转
1. 创建变量
创建一个变量,将其命名为r,修改为滑杆模式,并设置其范围为-1~1,具体细节可以参考前面的思路分析。
2. 创建自制积木绘制正方形
添加一个画笔角色,如图:
根据前面的思路分析,先创建一个自制积木用于绘制正方形,在画笔角色编写代码如下:
代码很简单,说明2点:
1). 正方形的边数为4,转角是90度,4 * 90 = 360,这就是“360万能公式”模型;
2). 正方形的边长是60;
再定义一个自制积木,用于绘制6个正方形,代码如下:
代码很简单,强调3点:
1). 该积木要勾选“在运行时不刷新屏幕“选项,这样可以瞬间完成6个正方形的绘制,从而确保正方形能够流畅的旋转起来;
2). 6个正方形,个数为6,转角就是 360 / 6 = 60度;
3).每次将颜色的初始值设置为红色,确保每次绘制出来的6个正方形颜色是一致的;
3. 正方形旋转
在画笔角色中,继续编写代码如下:
代码不少,说明4点:
1). 初始化设置不能少,包括隐藏、位置和方向;
2). 变量r的初始值为0,表示不旋转;
3). 1秒之后,调用”正方形“自制积木,先绘制一个红色的正方形;
4). 再等1秒,将之前的图像擦除,瞬间绘制6个正方形,当r为0时,不停的在原地原方向上绘制6个正方形;
此时,图形是没有旋转的,向右拖动滑杆,将r设置为1时,图形就会持续右转;向左拖动滑杆,将r设置为-1时,图形就会持续左转。
4. 复制星星并旋转
切换到星星角色,创建一个自制积木如下:
代码比较简单,说明4点:
1). 创建自制积木时要勾选”运行时不刷新屏幕“;
2). 在图章小星星时,使用了”中心法“模型,从中心位置(0,0)除法,移动150步复制一颗星星,然后移动-150步返回中心位置,右转36度,这就是中心法模型,非常好用;
3). 这里一共有10颗星星,根据”360万能公式“模型,转角就是360 / 10 = 36度;
4). 在自制积木中不要设置初始位置和方向;
在绿旗下,编写代码如下:
代码不多,强调3点:
1). 根据题目要求,3秒之后才开始显示星星,所以使用了”等待3秒“指令;
2). 设置好初始位置和方向, 确保每一次点击绿旗效果一致;
3). 在循环指令中,要加入”清除图形特效“,确保每次的颜色完全一致;
和正六边形一样,开始时星星是静止不动的,因为r的初始值为0。向右拖动滑杆,将r设置为1时,星星就会持续左转;向左拖动滑杆,将r设置为-1时,星星就会持续右转,并且和正六边形的旋转完全同步,方向刚好相反。
至此,整个作品就创作好了。
四.总结与思考
本题是中级组编程部分第5题,分数为80分,积木块数量45个左右,涉及到的知识点主要包括:
-
滑杆变量;
-
运动编程;
-
画笔技巧;
-
图章的使用;
-
自制积木;
这是stema测评的第5题,也是中级组最后一题,初级组没有此题,难度中等,创作时间约25分钟,难点是如何让图形持续左转和右转。
本题是典型的画笔题目,针对画笔题目,只需要掌握几个核心模型即可,包括:
-
360万能公式;
-
中心法;
-
先擦再画;
一旦你熟练掌握了这几个模型,画图的题目就变得非常简单了,在之前的STEMA测评和蓝桥杯历届真题中,多次出现过这类题目,解题思路和实现方式都差不多。
超平老师给你留1道思考题,本题中的星星是通过图章来复制的,如果使用克隆,该如何实现呢,赶紧来尝试一下吧!
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄