下雨-第12届蓝桥杯Scratch省赛3真题第5题

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第41讲。

第12届蓝桥杯青少年组省赛分两次进行,这是2021年4月24日举行的第二次省赛考试初级组,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

下雨,本题是第12届蓝桥杯Scratch第二次省赛真题编程第5题,是初级组最后一题,题目要求考生编程模拟下雨的场景。

先来看看题目的要求吧。

一.题目说明

编程实现:

下雨。

具体要求:

1). 点击绿旗,角色与背景如下图所示呈现在对应位置;

2). 小猫说:“快下雨了,赶快回家”,小狗说:“我再玩一会”;

3). 开始下雨,雨滴持续下落;

4). 小猫躲在亭子里,雨滴在小猫和亭子后落下;

5). 小狗在雨中,有的雨滴在小狗身前落下;

6). 小狗在雨中,有的雨滴在小狗身后落下;

评判标准:

  • 10分:满足要求1);

  • 10分:满足要求2);

  • 15分:满足要求3);

  • 15分:满足要求4);

  • 15分:满足要求5)。

  • 15分:满足要求6)。

二.思路分析

本题包含3个角色,分别是小猫、小狗和雨滴,如图所示:

小猫和小狗的功能非常简单,重点是雨滴的下落效果,大量的雨滴出现在舞台上,这需要使用克隆技术来生成雨滴。雨滴从舞台上方持续下落,这涉及到运动编程,当雨滴克隆体到达舞台底部的时候,删除克隆体即可。

雨滴下落过程中,不会落到躲在亭子里的小猫身上,落到小狗身上的雨滴,有的在小狗身前,有的在小狗身后。这和角色的层次关系有关,在Scratch编程中,控制角色的前后层次关系,我们可以使用“移到最前面/后面”指令来实现。

三.编程实现

根据上面的思路分析,我们可以按照角色来编写程序:

  • 小猫角色

  • 小狗角色

  • 雨滴角色

1). 小猫角色

绿旗点击时,需要设置好小猫角色的位置,同时将小猫角色移到最前面,这样可以确保雨滴不会落到小猫身上,然后小猫说“快下雨了,赶快回家”,对应的代码如图所示:

2). 小狗角色

绿旗点击时,小猫角色在舞台右边,头朝向左边,在小猫说完之后,小狗说“我再玩一会”,然后就开始下雨了,我们可以给雨滴角色发送一个广播消息,切换到小狗角色,编写代码如下:

简要说明三点:

①. 为了确保小狗在面向左边时身子是正着的,需要将旋转方式设置为左右翻转;

②. 由于小猫说话占用了2秒时间,所以小狗需要等待2秒后才开始说话;

③. 将小狗移到最前面,是确保稍后的雨滴可以落在小狗的身后。

3). 雨滴角色

雨滴角色需要使用克隆,我们可以分成两小步,第一步是通过本体生成雨滴克隆体,第二步是控制克隆体的移动。

先来实现第一步,通常情况下,需要将本体隐藏起来,当接收到”下雨“广播时,就不停的克隆自己,代码如下:

接下来,我们来编写克隆体的代码,雨滴从舞台上方开始出现,y坐标是固定的,比如180,但是x坐标是随机的,随机范围可以自由设定,确保在-240到240之间即可,大小也可以设置为随机的,表示雨滴有大有小。

如果雨滴出现在小狗所在的区域,则需要随机设置雨滴的层次关系,将一部分雨滴移到最前方,确保雨滴落在小狗身前。然后就可以让雨滴重复下落,直到雨滴落到舞台底部。

切换到雨滴角色,编写代码如下:

重点说明两点:

①. 随机选择雨滴移到最前面,这里使用了一个小技巧,就是在1到10之间取一个随机数,如果比5大,就移动最前面,否则就不动;

②. 判断雨滴落到舞台底部,这里使用的是”y坐标 < -170“,注意不能使用”碰到舞台边缘“指令,因为舞台边缘包括上下左右4个边缘,而雨滴是从舞台上边缘开始出现的。如果使用了碰到舞台边缘,那么克隆体一出现就立刻删除了,注意就看不见雨滴了。

四.总结与思考

本题难度系数为4,一共35个积木块,分值为80,涉及到的知识点主要包括:

  • Scratch坐标,注意设置好每个角色的位置;

  • 外观编程,包括说话指令和设置角色的层次关系;

  • 事件广播机制,包括广播消息和接收消息指令;

  • 随机数的灵活运用;

  • Scratch克隆技术,包括克隆、当作为克隆体启动时和删除此克隆体。

虽然是省赛的最后一题,但由于是初级组,题目并不难,关键在于要在规定时间内完成所有题目,这就比较考验孩子编程的熟练度了。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值