[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第59讲。
第11届蓝桥杯青少年组省赛原定于2020年3月7日举行,因疫情延期到2020年6月21日进行,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
海底世界,本题是第11届蓝桥杯Scratch省赛真题编程第3题,初级组和中级组都有此题,题目要求考生编程模拟海底世界的场景,近处有螃蟹,后面有一个水母游来游去,远处有各种小鱼游过。
先来看看题目的要求吧。
编程实现:
海底世界
海底世界,近处有螃蟹,后面有一个水母游来游去,远处有各种小鱼游过。
具体要求:
1). 创建背景Underwater1,创建角色Crab、Jellyfish、Fish,螃蟹离我们最近,后面是水母,远处是小鱼;
2). 螃蟹大小为200,在舞台最下方,全程静止不动;
3). 水母大小为100,初始方向为45,在舞台内不停的移动,碰到边缘就反弹;
4). 舞台左上区域的随机位置不停地出现小鱼,小鱼(随机造型)一直向右移动,移到舞台右侧消失(参考值:大小为50,y坐标范围0~180,速度为5,克隆间隔0.2秒)。
评判标准:
10分:背景及角色位置符合要求;
10分:螃蟹的大小与运动状态符合要求;
10分:水母的大小与运动状态符合要求;
20分:小鱼的造型切换与运动状态符合要求。
本作品包含3个角色,分别是螃蟹、水母和小鱼,如图所示:
其中螃蟹是静止的,水母在舞台上来回移动,碰到舞台边缘则反弹回来。小鱼则是成群结队的,需要通过克隆生成多个小鱼,然后一直向右移动,当碰到舞台右边缘消失。
要注意,3种角色之间的层次关系,螃蟹在最前面,水母在中间,小鱼在最后面,这可以通过外观模块中的“移到最前面/后面”指令来实现。
根据上面的思路分析,我们可以按照角色来编写程序。
螃蟹角色
水母角色
小鱼角色
1). 螃蟹角色
螃蟹角色是最简单的,根据题目要求,螃蟹大小为200,在舞台最下方,全程静止不动,切换到螃蟹角色,编写代码如下:
这里使用了“移到最前面”指令,可以确保螃蟹位于所有角色的最上方。
2). 水母角色
水母角色在舞台上来回移动,当碰到舞台边缘时,反弹回来即可,代码如下:
简要说明两点:
①. 默认情况下,角色是面向90度,即面向右方,这样螃蟹只会左右来回移动,为了让螃蟹可以斜着走,这里将初始方向设置为45度,当然,你也可以设置为其它的角度;
②. 角色默认的旋转方式是任意旋转,在这种模式下,螃蟹碰到舞台边缘,就会头朝下,只需要将旋转方式设置为左右翻转,螃蟹就不会上下翻转了
3). 小鱼角色
小鱼角色需要克隆,在Scratch中,克隆一般分两步进行,第一步是利用本体生成克隆体。但是生成的克隆体是静止不动的,如果要让克隆体角色动起来,这就需要第二步了,即控制克隆体。
先来实现第一步,先将小鱼角色的大小设置为50,同时将本体隐藏起来,然后每隔0.2秒克隆一个小鱼,代码如下:
这样一来,每隔0.2秒,就会生成一个小鱼克隆体,但是,这些克隆体是看不见的,也不会有任何动作。
接下来,我们进入第二步,每当克隆体启动时,将克隆体显示出来,随机切换造型,并设置好它的位置,然后重复向右运动直到到达舞台右边缘,删除克隆体,代码如下:
说明两点:
①. 很多同学在判断是否到达舞台右边缘时,喜欢使用“碰到舞台边缘”,如果克隆体的初始位置没有挨着舞台左边缘,这么写也是可以的。如果克隆体的初始位置挨着舞台左边缘,就不能这么写了,否则克隆体一显示,立刻就删除了,最好的方法就是判断x坐标是否大于某个值,比如240;
②. 我们将螃蟹角色移到最前面,小鱼角色移到最后面,这样就可以让水母角色处在中间层了。
本题难度一般,积木块数量在30个左右,涉及到的知识点主要包括:
角色之间的层次关系;
角色转向和旋转方式之间的关系;
克隆技术;
随机数的使用;
运动编程,注意"移动10步"和"将x增加10"两个指令之间的区别;
循环编程,注意无限循环和条件循环之间的区别。
本题比较简单,重点是克隆角色,以及控制克隆体的运动,一旦掌握了这一编程技巧,就可以创作各种有趣的作品和小游戏了。
如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。
需要素材和源码的,可以联系本人,或者移步至同名wx号。