帆船运动-第13届蓝桥杯Scratch省赛真题第2题

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

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

帆船运动,本题是第13届蓝桥杯Scratch第二次省赛真题编程第2题,初级组和中级组都有此题,题目要求考生编程实现帆船运动,模拟帆船在海上上下左右移动的效果。

先来看看题目的要求吧。

一.题目要求

编程实现:

帆船运动。

具体要求:

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

2). 按下键盘的上键,帆船向上移动,松开上键帆船停止移动(不能移出水面);

3). 按下键盘的下键,帆船向下移动,松开下键帆船停止移动(不能移出水面);

4). 按下键盘的左键,帆船向左移动,松开左键帆船停止移动(不能移出舞台);

5). 按下键盘的右键,帆船向右移动,松开右键帆船停止移动(不能移出舞台)。

评分标准:

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

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

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

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

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

二.思路分析

本题只有1个角色,就是帆船,如图所示:

功能相对也比较单一,就是在按上下左右键方向的时候让帆船向对应的方向移动。针对按键处理,一般有两种方式:

1). 使用事件指令”当按下xx键

2). 使用”如果...那么“ + ”按下xx键“组合指令

那它们有什么区别呢?区别就在于前者不需要点击绿旗,按下方向键就可以启动程序,让帆船动起来,这是事件指令的特点,后者则需要点击绿旗才能启动程序。本题没有明确的要求,使用两种方式都是可以的。

另外需要注意的是,帆船移动的范围是有限制的,上下移动时,不能移出水面,左右移动时,不要移出舞台。换句话说,这是有条件的移动,可以增加一个”如果...那么“指令,在满足条件时才移动。 

三.编程实现

根据上面的思路分析,我们采用两种方式来实现作品:

  • 使用”当按下xx键”指令

  • 使用“如果...那么”+“按下xx键”组合指令

1). 方式1-使用“当按下xx键”指令

当绿旗被点击时,设置好帆船角色的位置和方向,并设置旋转方式为左右翻转,如图所示:

其中,“将旋转方式设为左右翻转”是确保在改变帆船方向的时候,只能设置为向左或向右,即-90度和90度方向。

当按↑方向键的时候,帆船向上移动,但不能移出水面,而水面所在位置的y坐标是40,我们可以这么理解,当按↑方向键时,如果y < 40,就可以上移,其代码如下:

对应的,其它3个方向也需要做相似的处理,其代码如下:

2). 方式2-使用组合指令

接下来,我们使用组合指令来创作本作品,也就是使用控制模块中的“如果...那么”指令+侦测模块中的“按下xx键”指令。

以上移为例,帆船要上移的条件有两个,一是按下了↑方向键,二是帆船的y坐标<40,所以,我们需要使用一个逻辑与指令,将两个条件组合成一个条件,其它3个方向也需要做相应的处理,其代码如图所示:

这里对“如果...那么...否则”指令做了嵌套处理,是为了确保在任意时刻,帆船只能朝一个方向运动,这就避免了用户同时按下两个方向键的异常情况。

四.总结与思考

本题相对比较简单,代码量在30个积木块左右,难度系数为2,分值为50,涉及到的知识点主要包括:

  • 按键事件编程,可以采取两种方式;

  • 运动编程;

  • 条件判断;

  • 运算符指令,包括比较运算符和逻辑与运算符;

  • 角色方向的设置。

这是一道简单的编程题,我在这里给出了两种不同的实现方式,二者各有优劣。你更喜欢哪一种方式呢,为什么?

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

有需要素材和源码的,可以联系本人,或者给我留言。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值