小猫打螃蟹-第10届蓝桥杯Scratch省赛真题第2题

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

第10届蓝桥杯青少年组省赛于2019年3月24日举行,形式为线下考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

小猫打螃蟹,本题是第10届蓝桥杯Scratch省赛真题编程第2题,初级组和中级组都有此题,题目要求编程创作一个小猫打螃蟹的小游戏,一只在舞台左下角的小猫,发射子弹射击一只在舞台顶部的水平移动的螃蟹,击中螃蟹 5 次后程序结束!

先来看看题目的要求吧。

一.题目说明

准备工作:

背景改为白色背景,保留小猫角色,导入角色库中角色螃蟹“Crab”;自行绘制子弹角色,颜色和大小可自行设定。

编程实现:

一只在舞台左下角的小猫,发射子弹射击一只在舞台顶部的水平移动的螃蟹,击中螃蟹 5 次后程序结束!

具体要求:

1、程序运行后,小猫一直固定在舞台左下角,螃蟹在舞台上部进行最左->最右->最左的循环移动。注意:移动速度不要太快。

2、按下空格键,小猫发射一颗子弹,子弹须沿着鼠标方向发射出去,碰到螃蟹或者舞台边缘后消失。

3、子弹击中螃蟹 5 次后,小猫说:“我赢啦”2 秒钟,游戏结束。要求击中的次数在舞台的左上角实时显示。

将程序保存到桌面,命名为“2.sb2”。

评判标准:

  • 10 分:程序运行后,有一只螃蟹在舞台顶部水平左右移动;

  • 30 分:在 10 分标准基础上,按下空格键,小猫会发射一颗面向鼠标的子弹,且子弹碰到螃蟹或者边缘能够消失;

  • 50 分:在 30 分标准基础上,子弹击中螃蟹 5 次后小猫说“我赢啦!”2 秒钟,之后游戏结束。 

二.思路分析

本题有3个角色,分别是小猫、螃蟹和子弹,如图所示:

其中,子弹角色是需要自己绘制的,在角色列表区,选择绘制角色,如图:

然后通过圆形工具绘制一个实心圆点即可。

三个角色中,小猫角色的功能最为简单,在游戏成功时说“我赢啦!”,判断的依据是击中螃蟹5次,我们可以使用一个变量“次数”来记录击中螃蟹的次数,当次数等于5时,就说“我赢啦!”,然后停止全部脚本。

其次是螃蟹角色,它只需要在舞台上来回移动即可,当碰到舞台边缘就反弹。

子弹角色则是本题的重点,按下空格键,发射一颗子弹,首先要考虑的问题是子弹是否连发,如果是连发,需要使用克隆。虽然题目中没有明确说明是否要连发,但是从小猫击中螃蟹5次就胜利的描述中,可以看出,子弹不是连发的,而是上一颗消失了,才开始发射第颗,不然的话,获胜也太简单了,所以这里不需要使用克隆。

关于运动编程,超平老师总结了一个运动4要素模型,即起点、方向、速度和终点。我们只需要设置确定好这4大要素,编写代码就变得非常简单了。

三.编程实现

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

  • 螃蟹左右来回移动

  • 发射子弹

  • 小猫判断游戏获胜

1. 螃蟹左右来回移动

螃蟹在舞台上左右来回移动,因此要将角色的方向设置为水平方向,即90度或-90度,然后重复执行移动指令,当碰到舞台边缘时就反弹回来,对应的代码如下:

这里使用了“将旋转方式设为左右翻转指令”,目的是避免螃蟹在反弹的时候出现头下脚上的效果。至于螃蟹移动的速度,我将它设置为6,不快不慢,你可以修改成其它的值,速度越快,游戏难度就越大。

2. 发射子弹

在子弹角色中,需要判断子弹是否碰到螃蟹并记录其次数,因此,我们可以先创建好变量“次数,”,并设置其初始值,代码如下:

当按下空格键时,开始发射子弹,这是典型的运动编程,根据运动编程4要素模型,我们需要确定好角色的起点、方向、速度和终点。

子弹角色的起点是小猫所处位置,方向则是沿着鼠标方向,速度就是移动的步数,而终点,这里有两个,一个是舞台边缘,另一个则是螃蟹所在位置。在这种情况下,建议先不考虑碰到螃蟹的情况,也就是只考虑子弹自己的运动,对应的代码如下:

接下来再考虑碰到螃蟹的情况,是否碰到螃蟹是在子弹运动过程中,所以可以直接在循环中进行判断,增加代码如下:

之所以分两步来编写代码,是为了让你更好地理解编写代码背后的逻辑和思路。

3. 小猫判断游戏获胜

小猫角色在舞台下方静止不动,只需要设置好其坐标即可,然后需要判断次数是否等于5,通常的方法是使用“重复执行”+“如果...那么”指令。其实,还有一种更为简单的方法,就是使用“等待条件”指令,对应的代码如下:

需要说明两点:

.  这里之所以添加了一个“等待0.1秒”指令,是避免再次点击绿旗时,直接说“我赢啦”;

等待条件”指令只适合于一次性判断,如果是多次判断,则需要结合循环指令了。

四.总结与思考

本题难度系数为3,积木块数量在32个左右,涉及到的知识点主要包括:

  • 自己绘制角色;

  • 运动编程,重点是运动编程4要素模型的灵活运用;

  • 角色旋转方式的设置和含义;

  • 变量的使用;

  • 等待条件指令的使用及其特点。

本题相对比较简单,重点是运动编程4要素模型的灵活运用,一旦你掌握了这个模型,就可以实现各种各样的运动效果,进而创作各种有趣的作品和游戏。

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

蓝桥杯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、付费专栏及课程。

余额充值