[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥真题,这是Scratch蓝桥真题解析教程系列第208讲。
第16届蓝桥第2次STEMA测评已于2024年11月24日落下帷幕,编程题一共有5题(初级组只有前4道编程题),分别如下:
放飞气球,本题是2024年11月24日举行的蓝桥STEMA测评Scratch编程初/中级组编程第3题。题目要求编程创作放飞气球作品,点击绿旗,小男孩站在地面上,手里拉着系着气球的绳子,当输入1、2、3后,分别切换到红、绿、蓝色气球,1秒后气球向上移动,到达舞台上边缘后消失。
先来看看题目的要求吧。
一.题目说明
编程实现:
放飞气球。
具体要求:
1). 点击绿旗,小男孩站在地面上,手里拉着一根系着气球的绳子,如图所示;
2). 1秒后,小男孩说“请输入”,同时在舞台下方出现输入框,如图所示;
3). 如果输入 1,气球变为红色,如图所示;
4). 如果输入 2,气球变为绿色,如图所示;
5). 如果输入 3,气球变为蓝色,如图所示;
6). 1 秒后,气球向上移动(能看到移动的过程),到达舞台上边缘后消失。
二.思路分析
本题包含两个角色,分别是小男孩和气球,如图所示:
其中,气球角色有4个造型,分别是橙色、红色、绿色和蓝色,如图所示:
本题考查的知识点包括问答指令、广播机制、切换造型和运动编程。
这里只有两个角色, 不妨分角色进行讨论和分析。
对于小男孩角色而言,他的职责就是负责问答,当玩家输入数字后,告诉气球就可以了,所以需要使用给气球角色发生广播消息。
对于气球角色而言,初始情况下是橙色造型,当玩家输入1、2、3后,分别切换到红色色、绿色和蓝色,1秒之后向上移动。
这里需要注意两个细节:
1). 如果输入其它内容,气球还会移动吗?
2). 气球是一碰到舞台就消失呢,还是继续上升一段距离呢?
虽然题目没有明确说明,但从作品的合理性角度来看,我们还是需要把这些细节做好,让作品的效果更加完善。
思路有了,接下来,我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析,我们分角色来编写程序:
-
小男孩
-
气球
1. 小男孩
切换到小男孩角色,编写代码如下:
代码非常简单,说明3点:
1). 尽量设置好角色的位置,养成初始化的良好习惯;
2). "等待1秒"指令不要忘了,题目是有要求的;
3). “询问并等待”指令在执行时,会处于等待状态,如果没有完成输入,后续指令是不会执行的,只有当用户输入内容并提交,才会执行“广播变色”指令;
2. 气球
切换到气球角色,首先是初始化设置,在绿旗下编写代码如下:
由于在输入1、2、3时,气球都需要上升,为了简化代码,可以将上升的代码定义成自制积木,代码如下:
在接收到“变色”的广播消息时,气球切换对应造型,然后向上移动,在气球角色中继续编写代码如下:
代码不多,强调4点:
1). 气球角色的初始化,要设置好坐标、造型和显示状态;
2). 之所以将上升的效果放到“如果...那么”指令的里面,是确保在输入其它内容时,不会向上移动;
3). 气球上升的速度,可以自行调整,并没有具体的要求;
4). 气球消失的条件设置为y坐标 > 180,你也可以改成其它的坐标值,多一点少一点都是可以的,不过要尽量让效果看起来自然一点;
至此,整个作品就创作好了。
四.总结与思考
本题是初/中级组编程部分第3题,分数为70分,积木块数量32个左右,涉及到的知识点主要包括:
-
问答指令;
-
事件广播机制;
-
切换造型;
-
运动编程;
这是stema测评的第3题,难度一般,创作时间约8分钟左右。注意两个细节,一是在输入其它内容时的处理,二是气球消失的条件怎么写更好一点。
代码中的自制积木并不是必须的,但是使用自制积木可以简化代码,这其实是函数的编程思想,建议多用。
超平老师给你留一道思考题,如何不使用“如果...那么”指令,来实现气球的造型变化及上升效果,你知道怎么做吗?
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄