[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥真题,这是Scratch蓝桥真题解析第239讲。
第16届蓝桥STEMA省考已于2025年5月18日落下帷幕,编程题一共有5题(初级组只有前4道编程题),分别如下:
幸运大转盘,本题是2025年5月18日举行的蓝桥STEMA省考Scratch编程初/中级组编程第4题。题目要求编程创作幸运大转盘作品,幸运大转盘被均分为 10个扇形,其中有 1个扇形为红色,代表一等奖,有3个扇形为绿色,代表二等奖,6个扇形为蓝色,代表三等奖。
先来看看题目的要求吧。
一.题目说明
编程实现:
幸运大转盘。
幸运大转盘被均分为 10个扇形,其中有 1个扇形为红色,代表一等奖,有3个扇形为绿色,代表二等奖,6个扇形为蓝色,代表三等奖。
具体要求:
1). 点击绿旗,商人在舞台的左下方,同时舞台中出现一个完整的黑色圆,如图所示;

2). 1秒后,圆被白线分成10个大小相同的扇形,如图所示;

3). 1秒后,随机的1个扇形填充为红色;
例如,下图为一种随机的情况:

4). 1秒后,随机3个空的扇形填充为绿色,其余空的扇形填充为蓝色;
例如:下图为一种随机的情况;

5). 1秒后,在其中一个扇形中出现一个朝向转盘中心的手;
例如:下图为手出现在其中一个扇形中的情况:

6). 1秒后,手围绕转盘中心点,按逆时针,每隔0.5秒转动到下一个相邻的扇形中(转动的总次数随机,范围为10 ~ 20次,且手始终朝向转盘中心);(参考视频)
7). 手停止转动后,如果停在红色扇形内,商人说”一等奖";如果停在绿色扇形内,商人说 “二等奖”;如果停在蓝色扇形内,商人说“三等奖”。
评分标准:
-
7分:满足“具体要求”中的1);
-
10分:满足“具体要求”中的2);
-
12分:满足“具体要求”中的3);
-
20分:满足“具体要求”中的4);
-
5分:满足“具体要求”中的5);
-
10分:满足“具体要求”中的6);
-
6分:满足“具体要求”中的7)。
二.思路分析
本题包含3个角色,分别是画笔、手和商人,如图所示:

本题考查的知识点包括画笔、运动、列表、自制积木和事件广播等。
题目涉及的内容比较多,我们采用分解思维,将其拆分为4个模块,分别是绘制基础图形、随机奖项、手势旋转和奖项判断。
1.绘制基础图形
这里一共3种图形,分别如:
-
空心圆环;
-
直线;
-
扇形;
其中第2步中,圆被白线分成10个大小相同的扇形,看似是扇形,其实画的是直线。虽然是3种不同的图形,但是它们都有着相同的绘制方法---中心法模型。
对于空心圆环而言,将画笔角色先固定到圆心位置,再移动半径的距离,落笔绘制一个小点后抬笔,然后再退回到圆心位置,接着旋转1度,重复这个过程360次即可。
对于直线而言,将画笔固定到圆心位置,落笔移动半径的距离,然后抬笔退回到圆心位置(或者先退回再抬笔),这样就可以绘制一条直线,如果要绘制多条直线,重复这个过程即可。
对于扇形而言,将画笔固定到圆心位置,落笔移动半径的距离,然后退回到圆心位置,右转1度,重复这个过程一定的次数(比如36度),最后抬笔,这样就可以绘制一个扇形,如果要绘制多个扇形,只需重复这个过程。
为了方便组织代码,可以定义3个自制积木来分别绘制圆环、直线和扇形。
2.随机奖项
整个转盘由10个扇形构成,其中1个红色、3个绿色和6个蓝色,分别代表一等奖、二等奖和三等奖。
如何随机呢?
或者说要随机什么呢?
这就要从扇形的特点来进行分析,抛开颜色不说,这10个扇形真正不同的地方是什么呢?
是方向,或者说是角度。
这10个扇形,面向10个不同的角度,为了方便,我们可以用列表保存这10个方向,只需要确保它们的值是随机的,如图所示:

列表中的值都是1~10之间的数字,并且不能有重复,有了这个数字,就可以计算出扇形的起始方向了。
如何实现随机值的插入呢,直接使用插队算法就可以了。关于插队算法的用法,可以参考《专注力训练游戏-第15届蓝桥第4次STEMA测评Scratch真题精选》这篇教程。
3.手势旋转
手势角色看似比较简单,但也有比较棘手的地方,比如怎么设置其位置,怎么确保其始终面向转盘中心点呢?
有同学会想到调整造型中心点,但是转盘的中心点不在舞台中心,因此这个方法并不能奏效。
其实,我们可以借用画图中的中心法模型,让手势角色移到转盘中心位置,设置好方向,前进一定的距离。如果需要旋转,可以先退回到转盘中心,旋转36度,重复这个过程。
至于其面向方向,可以让手势面向画笔角色即可,因为画笔角色在绘制完图形之后,会回到转盘中心位置。
4.奖项判断
这个就比较简单了,直接使用角色和颜色的碰撞检测就可以,在手势角色停止下来后,如果碰到红色,则为一等奖,如果碰到绿色,则为二等奖,如果碰到蓝色,则为三等奖。
思路有了,接下来,我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析,我们分7步来编写代码:
-
绘制圆形
-
绘制直线
-
绘制扇形
-
随机列表
-
完成转盘的绘制
-
手势抽奖
-
商人说出奖项
其中,前面4步我们使用自制积木来分别实现。
1.绘制圆形
在画笔角色中,新建一个自制积木,命名为“圆形”,编写代码如下:

代码比较简单,说明3点:
1). 在定义自制积木时要勾选“运行时不刷新屏幕”选项;
2). 这里不需要设置初始位置,也不需要设置方向;
3). 当画笔移动100后,先落笔打个点,然后立刻抬笔,再退回到圆心位置。
2.绘制直线
新建自制积木“线”,编写代码如下:

代码不多,强调4点:
1). 在定义自制积木时要勾选“运行时不刷新屏幕”选项;
2). 注意落笔和抬笔的时机,10条直线全部画完后再抬笔;
3). 根据360万能公式模型,转角为360 / 10 = 36度;
4). 直线的长度要比圆形的半径稍微小一点;
3.绘制扇形
新建一个“扇形”自制积木,编写代码如下:

代码不多,细节不少,强调5点:
1). 在定义自制积木时要勾选“运行时不刷新屏幕”选项;
2). 这只是绘制一个扇形的代码,它带有一个参数“方向”;
3). 每次在90方向的基础上,右转传入的方向,具体的方向在调用自制积木时给出;
4). 右转的时候增加了2度,是为了白线不被覆盖掉;
5). 在绘制扇形时,右转的度数是0.5度,确保绘制的扇形效果更好,因此循环的次数要加倍,这里设置为66次,可以确保白线不被覆盖掉。
4.随机列表
新建一个列表,将其命名为“方向值”,编写自制积木如下:

代码不难,强调两点:
1). 一定要记得清空列表;
2). 按照顺序依次数字1~10,但是其位置是随机出来的,注意随机的范围。
5.完成转盘的绘制
如果按照题目的顺序,绘制好圆形和白线1秒后,先绘制1个红色的扇形,再过1秒才绘制其它9个扇形,那么扇形还是会覆盖部分白线,整体效果不太好。
不过我们可以在扇形绘制完之后再绘制一次直线,为确保瞬间完成这一步,可以定义一个自制积木,如下:

代码较多,说明3点:
1). 在定义自制积木时要勾选“运行时不刷新屏幕”选项;
2). 绿色扇形对应于列表中的第2、3、4项,蓝色扇形则对应于列表中的第5~10项,获取到列表项后,再乘以36,这就是每个扇形的起点方向;
3). 最后再绘制一遍10条直线。
在绿旗指令下编写代码如下:

代码虽多,但没有什么难度,就是按照题目的要求,依次完成转盘的绘制,强调一点,就是画笔角色的初始化,包括方向和位置以及全部擦除,所有的图形绘制完后,会回到初始方向和位置。
6.手势抽奖
切换到手势角色,编写代码如下:

代码比较多,说明4点:
1). 要确保手势的方向能始终面向转盘中心,需要将其旋转方式设置为任意旋转;
2). 前面绘制转盘花了4秒,因此4秒之后才显示;
3). 由于直线是以90度作为基础旋转的,手势的方向刚好是36的倍数,只需要在1~10之间取随机数,然后乘以36就可以了;
4). 当手势转动随机次数后,可以根据所在扇形的颜色进行判断奖项了,并发送相应的广播消息。
7.商人说出奖项
切换到商人角色,编写代码如下:

代码非常简单,就不用再解释了吧。
至此,整个作品就创作好了。
四.总结与思考
本题是初/中级组编程部分第4题,分数为70分,积木块数量110个左右,涉及到的知识点主要包括:
-
画笔编程;
-
运动编程;
-
列表;
-
自制积木;
-
事件广播机制;
这是本次stema省考的第4题,难度较大,完成时间40分钟左右。关键点点有3个,一是使用中心法结合自制积木来绘制圆形、直线和扇形;二是使用列表结合插队算法来实现奖项的随机效果;三是借用中心法和画笔角色实现手势的移动及面向效果。
题目的效果看起来比较简单,但是涉及的知识点比较多,还要求在规定的时间内完成,对大部分同学来说,还是非常有难度的。这就要求平时要多练习,熟练掌握各种绘制技巧,这样才能在比赛中从容应对。
超平老师给你留一道思考题,如果不使用画笔,而是自己绘制角色并结合克隆,该怎么做呢(题目没有要求必须使用画笔哦)?
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄,也欢迎gz“超平的编程课”gzh。

372

被折叠的 条评论
为什么被折叠?



