[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第15讲。
第10届蓝桥杯青少年组国赛于2019年5月25日举行,形式为线下考试,考生自带电脑。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
捉迷藏,本题是第10届蓝桥杯Scratch国赛真题编程第6题,也是最后一题,题目比较复杂,共分为4个程序,我们将分4次来解读和学习,这是第2篇,对应于程序2,题目要求考生在程序1的基础上进行改进,点击绿旗开始游戏时显示随机背景,点击前景角色,可以找到小猫,本题分值为50分。
先来看看题目的要求吧。
题目说明
编程实现(以程序1为基础改进):
点击绿旗,开始游戏时显示随机背景。点击前景角色,可以找到小猫。
具体要求:
1). 每次点击绿旗,都显示一个随机的背景,小猫位于屏幕左下角,6个角色均不显示。等待1秒钟后,6个角色以固定位置,按照两行三列的方式出现在舞台上,此时小猫说“我要开始藏了!”2秒钟,然后藏在随机某个前景角色后面。
2). 玩家点击某个前景角色,如果小猫就是藏在这个前景角色后面,则小猫现身,说“哇,你找到我啦!”。
![图片[1]-scratch捉迷藏-第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-132.png)
3). 如果小猫不是藏在这个前景角色后面,则小猫在它所藏的角色前面现身,提示“Hi.我在这儿呐!”。
![图片[2]-scratch捉迷藏-第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-133-1024x776.png)
评判标准:
- 0分:程序1未得到满分;
- 20分:符合具体要求1);
- 40分:在20分基础上,符合具体要求2)、要求3)中任意一个;
- 50分:完全符合具体要求1)、要求2)、要求3)。
效果预览
在编程之前,先来看看作品的完整效果吧:
思路分析
本题是在程序1的基础上进行改进的,评判标准里也说的很清楚,如果程序1未得到满分,直接按0分算,所以说首先要确保程序1是完全符合题目要求的。
关于程序1可以参考上一篇,捉迷藏之一-第10届蓝桥杯Scratch国赛真题第6题程序1。
我们需要在程序1的基础上增加猜小猫位置的效果,当某个前景角色被点击时,会发生两种情况,即“猜对了”和“猜错了”,判断的依据也比较简单,就是在点击角色的时候,看看当前角色是否碰到了小猫,如果碰到了,就说明猜对了,否则就说明猜错了。
不论是猜对还是猜错,都是由小猫来提示的,所以这里需要用到广播消息。
编程实现
根据题目描述,我们分3步来进行编程创作:
- 随机背景
- 前景角色的点击处理
- 小猫提示功能
1. 随机背景
每次点击绿旗,都显示一个随机的背景,首先要添加几张舞台背景图片,直接在背景库中选择就行,这里并没有具体说多少张,一般来说,有五六张就可以了。
接着是编写程序,切换到舞台背景所在的代码区,编写如下代码:
![图片[3]-scratch捉迷藏-第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-134.png)
需要注意的是,“换成随机背景”指令可以写在任何角色中,包括舞台背景本身,之所以放在舞台背景中来编写,这是为了职责分明,因为背景不属于任何角色,这种做法可以提升代码的可读性,建议你也这么做。
2. 前景角色的点击处理
根据上面的分析,当角色被点击时,我们只需要判断是否角色是否碰到了小猫即可,如果碰到了,就发送广播消息“猜对了”,否则就发送广播消息“猜错啦”,代码如图:
![图片[4]-scratch捉迷藏-第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-135.png)
有两点需要说明:
1). 这个代码是在程序1基础上增加的,不用修改程序1的代码;
2). 这里有6个前景角色,它们的逻辑和效果是一样的,因此,在6个前景角色中都需要增加这段代码,在具体编写代码的时候,可以使用跨角色复制代码块的编程技巧。
3. 小猫提示功能
对于小猫角色而言,需要增加接收广播消息的代码,切换到小猫角色的代码区,增加代码如下:
![图片[5]-scratch捉迷藏-第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-136.png)
总结与思考
本题是捉迷藏的程序2,非常简单,涉及到的知识点包括:
- 事件编程的应用,重点是“当角色被点击”指令的使用;
- 条件编程,主要是双分支条件指令“如果…那么…否则”的使用;
- 事件广播机制,实现角色间通信的编程机制;
- 跨角色复制代码的编程技巧。
程序2也比较简单,关键是要确保按照题目要求完成创作,因为这是编写后续程序的基础。
需要素材和源代码的,可以转到这里,捉迷藏-2019.5.25蓝桥杯国赛第6题。
暂无评论内容