动物乐园-第16届蓝桥第5次STEMA测评Scratch真题第5题
[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥真题,这是Scratch蓝桥真题解析第228讲。
第16届蓝桥第5次STEMA测评已于2025年3月9日落下帷幕,编程题一共有5题(初级组只有前4道编程题),分别如下:
-
变色龙
-
左顾右盼
-
比较大小
-
转动的图形
-
动物乐园
动物乐园,本题是2025年3月9日举行的蓝桥STEMA测评Scratch编程中级组编程第5题。题目要求编程创作动物乐园作品,点击绿旗,用户输入6~10之间的数字,舞台上会出现对应数量的动物,它们互不相碰。点击动物,它会说再见,与之相同的动物也会说再见,然后一起消失。
先来看看题目的要求吧。
一.题目说明
编程实现:
动物乐园。
具体要求:
1). 点击绿旗,角色、背景,如图所示;
2). 1秒后,角色说“请输入 6~10 的整数”,同时舞台下方出现输入框,如图所示;
3). 输入一个整数后,角色消失,在舞台的随机位置出现与输入整数相同个数的随机动物;
4). 动物之间不互相接触,且动物不能碰到舞台边缘;
例如:输入8,效果如下:
5). 点击任意一只动物,该动物会说“再见”;
例如:点击最左侧的小鸡后,效果如下:
6). 1秒后,与被点击动物样子相同的动物也会说“再见”;
7). 1秒后,所有说“再见”的动物消失,如图所示;
8). 重复执行“具体要求”5)、6)、7)直到所有动物都消失。
评分标准:
-
5分:满足“具体要求”中的1);
-
8分:满足“具体要求”中的2);
-
10分:满足“具体要求”中的3);
-
15分:满足“具体要求”中的4);
-
8分:满足“具体要求”中的5);
-
14分:满足“具体要求”中的6)
-
10分:满足“具体要求”中的7)
-
10分:满足“具体要求”中的8)。
二.思路分析
本题只有1个动物角色,如图所示:
动物角色有4种不同的造型,如图所示:
本题考查的知识点包括问答指令、克隆、造型、事件广播机制和变量等。
根据题目的描述,我们运用分解思维,将其拆分成如下3个模块:
-
询问和回答;
-
克隆动物;
-
点击角色说再见;
这里的重点是第2个模块,克隆动物,因为题目要求克隆出来的动物彼此不能接触,也不能碰到舞台边缘。
关于这个问题,在之前的真题中多次出现,比如:
-
《海底世界-第16届蓝桥第4次STEMA测评Scratch真题第5题》
-
《矿工挖宝-第14届蓝桥杯国赛Scratch真题初中级组第4题》
-
《栽花-第15届蓝桥第4次STEMA测评Scratch真题精选》
-
《消除数字球-第15届蓝桥省赛Scratch初级组真题第5题》
解决问题的方案就是借鸡生蛋模型,即新添加一个角色,借助该角色,拖出一格”碰到动物“的指令,将其复制到动物角色中。
关于角色的点击,最简单的方案是直接使用事件模块中的“当角色被点击”指令。本作品中的动物角色,其实只需要单词点击,可以考虑使用“等待条件” + “碰到鼠标” + “按下鼠标”的黄金组合。
如何判断和已点击角色具有相同的造型呢?
其实很简单,一个变量就可以轻松搞定,在点击角色的时候,将该角色的造型编号保存到变量中,然后发送广播给所有的动物克隆体。每个克隆体只需要判断自己的造型编号和变量中保存的编号是否一致即可。
思路有了,接下来,我们就进入具体的编程实现环节。
三.编程实现
根据上面的思路分析,我们分3步来编写代码:
-
询问和回答
-
克隆动物
-
点击角色说再见
1. 询问和回答
在动物角色中编写代码如下:
代码非常简单,说明两点:
1). 角色的初始化设置不可少,包括位置和显示,一旦开始克隆了,将本体立刻隐藏起来;
2). 对于用户输入的内容,不需要判断,只要确保6~10之间的数字,能够达到题目要求的效果即可。
2. 克隆动物
克隆动物的时候,先将克隆体移动随机位置,如果碰到其它克隆体或舞台边缘,则重新设置随机位置,这个过程可能会重复多次。
为了能够瞬间设置好动物的位置,需要使用自制积木的不刷新特性,先定义自制积木如下:
然后调用自制积木,代码如下:
代码不多,强调3点:
1). 在定义自制积木时要勾选“运行时不刷新屏幕”选项;
2). 一定要在设置随机位置之前显示克隆体,否则就无法检测是否碰到自己和舞台边缘了;
3). 在添加“碰到动物”指令的时候,需要再添加一个角色(比如小猫),找到“碰到动物”指令复制到动物角色中,然后再将该角色删除,这就是所谓的借鸡生蛋模型。
3. 点击角色说再见
在克隆体中检测角色是否被点击,在“作为克隆体启动时”代码块中继续编写代码如下:
代码不多,说明3点:
1). 需要先创建好变量“造型”,每个克隆体都有自己的造型编号,点击时将自己的造型编号保存到变量“造型”中;
2). 使用“说话”指令,不要使用“说话2秒”指令;
3). 等待1秒后,发生一个“再见”的广播消息;
克隆体在接收到广播消息时,也要做相应的处理,继续编写代码如下:
代码比较简单,说明3点:
1). 所有的克隆体都会接收广播消息,当然也包括被点击的克隆体,如果克隆体的造型和被点击的克隆体一致,则说再见,然后消失;
2). 这里使用“说2秒”指令更简单;
3). 克隆体不需要的时候,尽量使用删除操作,而不是隐藏操作。
至此,整个作品就创作好了。
四.总结与思考
本题是中级组编程部分第5题,分数为80分,积木块数量10个左右,涉及到的知识点主要包括:
-
问答指令;
-
变量的使用;
-
自制积木;
-
事件广播机制;
-
造型;
-
角色点击;
这是本次stema测评的第5题,也是中级组的最后一题,初级组没有此题,难度中等,完成时间15分钟左右。
实现本作品的关键点有两个,一是使用借鸡生蛋模型来检测克隆体是否相互碰撞,为了瞬间设置克隆体的位置,还充分利用了自制积木的不刷新特性;二是对于角色的单次点击操作,使用了黄金组合三指令“等待条件” + “碰到鼠标” + “按下鼠标”。
如果你之前做过1月份的第5题,《海底世界-第16届蓝桥第4次STEMA测评Scratch真题第5题》,那么此题做起来就特别简单了,因为它们有太多的相似之处。所以说,要想在考试时取得好的成绩,一定要多研究之前的真题。
超平老师给你留一道思考题,当有动物说再见的时候,如果确保其他角色不被点击呢,你知道该怎么做吗?
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄