奥特曼大战怪兽-第13届蓝桥杯Scratch省赛真题第3题

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

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

奥特曼大战怪兽,本题是第13届蓝桥杯Scratch第二次省赛真题编程第3题,初级组和中级组都有此题,题目要求考生编程实现奥特曼大战怪兽的游戏场景。

先来看看题目的要求吧。

一.题目说明

编程实现:

奥特曼大战怪兽。

具体要求:

1). 点击绿旗,角色、背景如图所示;

2). 等待1秒,怪兽说:“我要吃了你!!!”2秒;

3). 等待1秒,奥特曼说:“动感光波”2秒;

4). 奥特曼发射动感光波3次(怪兽被击中后有颜色变化),每次间隔0.5秒;

5). 等待1秒,怪兽逐渐变小旋转飞向舞台右上角后消失,同时说:“我还会回来的!!!”。

评分标准:

  • 5分:满足“具体要求”中的1);

  • 10分:满足“具体要求”中的2);

  • 10分:满足“具体要求”中的3);

  • 15分:满足“具体要求”中的4);

  • 10分:满足“具体要求”中的5)。

二.思路分析

本题有3个角色,分别是怪兽、奥特曼和光波,如图所示:

我们需要明确每个角色的功能及它们之间的逻辑关系,可以绘制一个简单的流程图,如下:

这里的重点是发射动感光波击中怪兽,所谓的发射光波,其实就是克隆出一个光波角色,让光波从奥特曼所在位置以一定的速度向前运动,直到击中怪兽。同时,我们可以通过一个变量来记录击中怪兽的次数,当次数达到3时,奥特曼向舞台右上角飞去,并慢慢变小,直至消失。

三.编程实现

根据上面的思路分析,我们可以分4步来进行编程:

  • 怪兽出场

  • 奥特曼发射动感光波

  • 光波击中奥特曼

  • 奥特曼逃跑

1). 怪兽出场

当绿旗被点击时,怪兽出现在舞台右下方,设置好其方向和大小,1秒后,它看见对面的奥特曼,说道“我要吃了你”,对应的代码如下所示:

这里的变量“打中次数”是用来记录光波击中怪兽的次数,这里将其初始值设为0。

2). 奥特曼发射动感光波

怪兽要吃掉奥特曼,奥特曼当然不会坐以待毙了,1秒钟之后,它吼了一嗓子“动感光波”,然后连发3次动感光波,切换到奥特曼角色,编写代码如下:

简要说明两点:

①. 这里等待3秒,是因为怪兽说话占用了2秒,再加上等待的1秒;

②. 发射动感光波,其实就是克隆光波角色,此处直接选择在奥特曼角色中克隆光波角色,这是最省事的一种写法,也是一个常用的编程技巧。

3). 光波击中奥特曼

一旦生成光波克隆体,它就从奥特曼所在位置开始向前移动,直到碰到怪兽。这是一个典型的运行编程场景,我们可以从运动的4要素出发,即起点、方向、速度和终点4个方面考虑。

起点就是奥特曼所在的位置,方向则是水平向右,可以使用“将x坐标增加10”指令,终点则是碰到怪兽,一旦碰到怪兽,需要给怪兽角色发送一个“击中”的广播消息,同时删除克隆体。

切换到光波角色,编写代码如下:

4). 奥特曼逃跑

当光波击中怪兽时,怪兽有颜色变化,同时我们还需要更新击中的次数,如果次数达到3,怪兽就要逃跑了。怪兽逃跑的目标是舞台右上角,在逃跑过程中有旋转效果,同时逐渐变小。

角色在旋转的时候,方向会发生变化,所以此处的运动不能使用“面向方向+移动”的组合指令。对于已知目标的移动,使用“在1秒内滑行到x,y”指令相对比较简单,不过要注意,该指令是独占模式,这就意味着在滑行过程中,就无法旋转了。

要想怪兽在滑行的同时旋转,我们可以使用多线程的编程思想,让怪兽角色兵分两路,具体实现就是利用事件广播机制,给自己发送一个广播消息。

切换到怪兽角色,增加代码如下:

至此,整个作品就创作完成了,是时候来欣赏自己创作的奥特曼大战怪兽游戏了。

四.总结与思考

本题的总代码量为为40个积木块左右,难度系数为3,分值为50,涉及到的知识点主要包括:

  • 循环的使用,包括指定次数循环和直到循环;

  • 运动编程,包括改变坐标指令和滑行指令;

  • 外观编程,包括大小、颜色、说话、显示和隐藏;

  • 克隆技巧,重点是在一个角色中克隆其它角色;

  • 事件广播机制;

  • 多线程的编程思想及实现方式。

有需要素材和源码的,可以联系本人。 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝桥杯scratch省赛真题是指蓝桥杯编程大赛中使用Scratch编程语言进行的省级比赛的问。具体的目会根据每年的比赛而有所不同,以下是一个例子: 目要求创建一个游戏,模拟猴子爬楼梯的场景。猴子每次可以爬1到3级的楼梯,目标是爬到楼梯的最顶层。玩家可以通过按键来让猴子爬楼梯,同时需要显示猴子当前所在的楼梯层数以及已经爬过的楼梯数量。 首先,我们需要使用Scratch中的精灵功能来创建一个猴子的角色,可以自定义猴子的造型和动作。接下来,我们需要创建一个楼梯场景,可以使用Scratch中的背景功能来绘制楼梯。可以使用简单的图形表示楼梯,比如长方形。 之后,我们需要添加按键事件,让玩家输入按键来控制猴子的爬楼梯动作。可以使用Scratch中的事件功能来实现按键事件的触发。当玩家按下某个按键时,猴子开始向上爬楼梯。可以使用Scratch中的运动功能来控制猴子的位置,让其向上移动相应的楼梯层数。 同时,我们需要计算猴子当前所在的楼梯层数和已经爬过的楼梯数量。可以使用Scratch中的变量功能来记录这些信息。当猴子爬上一级楼梯时,楼梯层数加一,已经爬过的楼梯数量也加一。可以使用Scratch中的运算功能来实现变量的加法操作。 最后,我们需要添加判断条件,当猴子爬到楼梯的最顶层时游戏结束。可以使用Scratch中的控制功能来实现判断条件。当猴子的位置达到最顶层时,显示游戏结束的提示信息,并停止猴子的爬楼梯动作。 通过以上步骤,我们可以完成蓝桥杯scratch省赛真题中的猴子爬楼梯游戏。这个例子中只是其中的一个目,实际比赛中的问会更加复杂和多样化。但无论目怎样,我们都可以通过使用Scratch的各种功能和编程思维,去解决这些问

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值