旋转的图形-第16届蓝桥第1次STEMA测评Scratch真题第5题

[导读]:超平老师的《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道思考题,本题中的星星是通过图章来复制的,如果使用克隆,该如何实现呢,赶紧来尝试一下吧!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值