本文主要是介绍绘制风车-第15届蓝桥第4次STEMA测评Scratch真题精选,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第170讲。
第15届蓝桥杯第4次STEMA测评已于2024年1月28日落下帷幕,编程题一共有6题,分别如下:
-
青蛙过河
-
巡逻的直升机
-
栽花
-
绘制风车
-
专注力游戏训练
-
扑克牌排序
绘制风车,本题是2024年1月28日举行的第15届蓝桥STEMA测评Scratch编程初/中级组编程第4题。题目要求使用画笔绘制一个风车,风车是由4个实心三角形构成的,然后通过滑杆控制风速,让风车以相应的速度旋转起来。
先来看看题目的要求吧。
一.题目说明
编程实现:
风车。
具体要求:
1). 点击绿旗,背景如图所示;
2). 1秒后,在草地上绘制出一条竖直线段(长短、粗细和颜色不限),如图所示;
3). 1秒后,在线段的上端绘制一个空心三角形(颜色、大小不限),如图所示;
4). 然后,慢慢将空心三角形填充为实心三角形(颜色不限),如图所示;(参考视频)
5). 然后,呈现出5个均匀分布的实心三角形(三角形大小相同,颜色均不相同),如图所示;
6). 风车绘制完成后,左上角显示滑杆形式的变量 “风速”,且其取值范围为0~2(包含0和2,初始值为0),如图所示;
7). 拖动滑杆调整“风速”的值!当“风速”值为0时风车不转动,当“风速”值为1时风车缓慢转动,当“风速”值为2时风车快速转动。(参考视频)
评判标准:
-
2分:满足"具体要求"中的1);
-
5分:满足"具体要求"中的2);
-
10分:满足"具体要求"中的3);
-
10分:满足"具体要求"中的4);
-
10分:满足"具体要求"中的5);
-
10分:满足"具体要求"中的6);
-
13分:满足"具体要求"中的7)。
二.思路分析
本题只有1个画笔角色,如图所示:
这是一道画笔题目,考查的知识点包括画笔、运动编程、自制积木和变量等。
根据题目的描述,可以将作品分成如下4个模块:
-
支撑杆
-
实心三角形
-
绘制风车
-
风车旋转
这里的关键是实心三角形的绘制,也是本题的重难点,很多同学完全没有思路。
关于实心几何图形的绘制,是一个非常重要的知识点,最典型的莫过于实心五角星的绘制,可以参考《你真的会用Scratch绘制五角星吗-95%的人不知道的巧妙画法》这篇教程。
在2023年12月17日stema测评中的六花阵图中, 要求绘制实心正方形和实心矩形,具体可以参考《六花阵图-第15届蓝桥第三次STEMA测评Scratch真题精选》。
不管是哪种实心图形,我们都可以通过如下两种方式来绘制:
-
连线填充法
-
边长渐变法
其中连线填充法需要借助其它角色来完成,其核心思想就是在几何图形中确定一个锚点,在绘制几何图形轮廓的同时,借用其它角色在锚点和轮廓之间绘制直线即可。
边长渐变法的核心思想则是在绘制几何图形的过程中,不断改变边长,相当于绘制了多个形状一样的几何图形,只是大小不同而已。
对于本作品中的三角形,可以分成多个不同大小的三角形,比如,这是5个三角形的情况:
这是10个三角形的情况:
这是20个三角形的情况:
这下看清楚了吧,三角形的数量越多,就越接近实心三角了。当数量达到100了,其效果如下:
搞定了实心三角形,其它的相对就比较简单了,结合自制积木,就可以瞬间绘制风车并旋转起来了。
思路有了,接下来,我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析,我们分4步来编写程序:
-
绘制支撑杆
-
绘制实心三角形
-
绘制风车
-
风车旋转
1. 绘制支撑杆
支撑杆其实就是一条直线,只需要设置好颜色、粗细和位置,移动画笔即可,为了简化代码结构,我们将其定义成自制积木,代码如下:
运行程序,效果如下:
2. 绘制实心三角形
根据前面的思路分析,我们使用边长渐变法来绘制实心三角形,这部分代码需要多次用到,为了重用代码,我们使用自制积木,代码如下:
代码不多,简单说明4点:
1). 这里使用变量”长度“表示三角形直角边的边长,初始值为100,每绘制一个三角形长度减1,一共绘制了100个直角三角形;
2). 由于风车是由5个实心三角形构成的,因此在绘制一个三角形的时候,不要设置方向,起点是舞台中心位置(0,0);
3). 这里绘制的是直角三角形,两条直角边直接使用”移动10步“指令,而斜边则直接使用”移到x,y“指令,这样就不用计算长度了;
4). 在绘制两条直角边时,右转了90度,在回到起点(0,0)后,要确保画笔回到初始方向,需要左转90度;
执行这段程序,其效果如下:
3. 绘制风车
在绘制第1个三角形的时候,需要看到绘制的过程,但是接下来要绘制的4个实心三角形是瞬间完成的,所以我们需要使用自制积木的不刷新特性来实现。
再定义一个自制积木,用于瞬间绘制三角形,代码如下:
代码非常简单,需要注意,在定义自制积木的时候要勾选“运行屏幕时不刷新”,如图:
根据题目给出的参考视频,第一个三角形是慢慢画出来的,而接下来的4个三角形是瞬间完成的,所以需要分开来绘制,代码如下:
简单说明两点:
1). 初始颜色为红色,然后每次将颜色增加20,从而绘制出不同颜色的三角形;
2). 一共是5个三角形,根据360万能公式,旋转的角度是360 / 5 = 72度。
4. 风车旋转
风车要旋转起来,就意味着5个三角形都是瞬间绘制出来的,因此需要再次定义一个自制积木,代码如下:
同理,在定义自制积木的时候,需要勾选”运行时不刷新屏幕“,如图:
所谓的旋转,其实就是不停地绘制,只是每次绘制的时候方向有所不同,同时要将之前的图像先擦除掉。
我们可以定义一个变量”风速“,用来表示画笔旋转的角度,风速越大,转的角度越大,风车转的就越快,当风速为0时,停止旋转,对应的代码如下:
注意,这里的变量”风速“需要设置为滑杆模式,如图:
然后设置滑块范围,将最小值设置为0,最大值设置为2,如图:
由于“擦除全部”指令会将所有的画笔内容擦除掉,所以支撑杆也需要重新绘制。
完整的绿旗代码块如下:
至此,整个作品就创作好了,你可以好好欣赏一下自己的成果啦。
四.总结与思考
本题是初/中级组编程部分第4题,分数为60分,积木块数量52个左右,涉及到的知识点主要包括:
-
运动编程;
-
循环编程,包括有限循环和无限循环;
-
画笔相关指令;
-
自制积木;
-
变量的使用,尤其是滑杆模式;
本题难度较大,完成时间25分钟左右,难点有两个,一是如何绘制实心三角形,二是如何让风车旋转起来。
Scratch画笔几乎是每次必考的知识点,一定要熟练掌握,做到灵活运用,一般都离不开如下几个编程技巧:
-
360万能公式模型
-
自制积木+运行时不刷新屏幕
-
边长渐变法绘制实心图形
当然了,只要是绘制图形,铁定离不开运动,所以运动编程是画笔的基础,各种常见的运动一定要熟练掌握,这样才能做到游刃有余。
超平给你留一道思考题,如何使用连线填充法来绘制实心三角形,赶紧动手试试吧。
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄
需要素材和源码的,可以移步至“超平的编程课”gzh。
这篇关于绘制风车-第15届蓝桥第4次STEMA测评Scratch真题精选的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!