海底世界-第11届蓝桥杯Scratch省赛真题第3题

[导读]:超平老师计划推出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号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值