[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥真题,这是Scratch蓝桥真题解析第220讲。
第16届蓝桥第4次STEMA测评已于2025年1月12日落下帷幕,编程题一共有5题(初级组只有前4道编程题),分别如下:
滚动的足球,本题是2025年1月12日举行的蓝桥STEMA测评Scratch编程初/中级组编程第3题。题目要求编程创作滚动的足球作品,运行程序,足球沿着跑道滚动到舞台右边缘,然后又沿着跑道滚动到舞台左边缘。
先来看看题目的要求吧。
一.题目说明
编程实现:
滚动的足球。
具体要求:
1). 点击绿旗,足球在舞台左侧的跑道上,如图所示;
2). 1秒后,足球沿着跑道水平向右移动到舞台右侧边缘(能看到移动的过程);
3). 足球在向右移动的过程中不断顺时针旋转;
4). 足球到达舞台右侧边缘后沿着跑道水平向左移动(能看到移动的过程);
5). 足球在向左移动的过程中不断逆时针旋转;
6). 足球到达舞台左侧边缘后停止移动和旋转。
评分标准:
-
10分:满足“具体要求”中的1);
-
12分:满足“具体要求”中的2);
-
12分:满足“具体要求”中的3);
-
12分:满足“具体要求”中的4);
-
12分:满足“具体要求”中的5);
-
12分:满足“具体要求”中的6)。
二.思路分析
本题只有1个足球角色,如图所示:
本题考查的知识点是运动编程,包括移动、左转和右转等。
典型的运动场景,足球在移动的过程中还伴随着旋转,这是本题的难点。
关于角色的移动,通常有如下3种实现方式:
1). 使用“面向方向” + “移动10步”指令;
2). 使用“将x增加10步” + “将y增加10步”指令;
3). 使用“在1秒内滑行到x,y”指令;
对于本题而言,方法1肯定是行不通的,因为“移动10步”指令和角色的方向息息相关,一旦角色转向了,移动的方向也会随着改变。
方法2和方法3都是可行的,相对来说,方法2的效果更好,也是超平老师强烈推荐的。
另外,还有一个细节需要注意,就是如何检测足球是否碰到舞台边缘。足球两次碰到舞台边缘,一次是右边缘,一次是左边缘,直接使用“碰到舞台边缘”指令可以吗?
这就要看足球的起点位置了,初始情况,足球在舞台坐标,但是没有碰到舞台边缘,向右滚动时,是可以使用“碰到舞台边缘”指令的。
足球到达舞台右边缘,然后向左滚动,此时就不能直接使用“碰到舞台边缘”作为判断条件了,因为一开始它就处于舞台边缘。
思路有了,接下来,我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析,我们在足球角色中编写代码如下:
代码不多,强调3点:
1). 初始化必不可少,包括位置和方向,方向不是必须的,但建议加上,确保每次点击绿旗时初始状态一致;
2). 这里使用的是“重复执行直到”指令,最适合这种有条件的循环,向右滚动时的结束条件是“碰到舞台边缘”,向左滚动时的结束条件是“x坐标 < -205”;
3). 足球移动的速度和旋转的角度可以自行设置,不要太快,也不要太慢。
至此,整个作品就创作好了。
四.总结与思考
本题是初/中级组编程部分第3题,分数为70分,积木块数量13个左右,涉及到的知识点主要包括:
-
舞台坐标;
-
将x坐标增加指令;
-
左转和右转指令;
-
碰到舞台边缘的检测方式;
-
重复执行直到指令;
这是本次stema测评的第3题,难度一般,完成时间8分钟左右。这里有两个关键点,第一,同时使用“将x增加10”指令和“左/右转”指令,实现角色边走边旋转的效果;第二,在检测是否碰到舞台边缘时要灵活处理,什么时候直接使用“碰到舞台边缘”指令,什么应该使用坐标来判断。
超平老师给你留两道思考题:
1). 使用”将x增加指令“为什么不受”左转/右转“指令的影响呢?
2). 如果使用滑行指令来实现本作品,该怎么做呢,需要解决哪些难点?
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄