神奇哈哈镜-第14届蓝桥杯省赛Scratch初级组真题第3题

神奇哈哈镜,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程初级组真题第3题,题目要求通过编程实现神奇哈哈镜效果。当小猫走到右侧哈哈镜前时,哈哈镜子中开始出现胖胖的特效小猫,当小猫走到左侧哈哈镜前时,哈哈镜子中开始出现瘦瘦的特效小猫。

先来看看题目的要求吧。

一.题目说明

编程实现:

神奇的哈哈镜。

具体要求:

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

2). 当按下键盘上的右方向键,小猫面向右,向右移动;当按下键盘上的左方向键,小猫面向左,向左移动;当松开按键,小猫停止移动;(小猫移动时持续切换造型)

3). 当小猫走到右侧哈哈镜前时,哈哈镜子中开始出现胖胖的特效小猫,并且镜子中的影像要跟随小猫一起移动;

4). 当小猫走到左侧哈哈镜前时,哈哈镜子中开始出现瘦瘦的特效小猫,并且镜子中的影像要跟随小猫一起移动。

评判标准:

  • 5分:满足”具体要求”中的1);
  • 11分:满足”具体要求”中的2);
  • 17分,满足”具体要求”中的3);
  • 17分:满足”具体要求”中的4)。

二.作品效果

在编程之前,先来看一下作品的完整效果吧:

三.思路分析

本题有3个角色,分别是舞台和两只小猫,如图所示:

其中舞台角色最为简单,只需要设置好其位置即可,cat角色也比较简单,当按下左右方向键时左右移动。本题的难点是cat2角色,根据题目要求,我们可以将其分成3个小功能:

  • 和cat同步移动
  • 显示和隐藏
  • 设置外观特效

第一点,和cat同步移动,比较简单,可以使用广播消息,也可以直接使用按键指令,显然使用后者更为简单。

第二点,显示和隐藏,当cat走到哈哈镜前,cat2要显示,一旦cat离开哈哈镜,cat2则需要隐藏,这个可以通过x坐标所处范围进行判断。

第三点,cat2要呈现胖瘦效果,这需要通过角色的外观特效来实现,具体来说就是鱼眼特效。接下来,我们进入具体的编程实现环节。

四.编程实现

根据题目描述和思路分析,我们可以分角色来编写程序:

  • 舞台角色
  • cat角色
  • cat2角色

1. 舞台角色舞台角色非常简单,只需要进行初始化设置即可,代码如下所示:

之所以将舞台角色移到最后面,是为了确保我们能看到两只小猫。

2. cat角色

首先是初始化设置,包括角色的位置、造型、旋转方式和方向,在cat角色中编写代码如下:

这里将旋转方式设置为左右翻转,是确保小猫不会出现头朝地的情况。

当按下←键,小猫向左移动,当按下→键时,小猫向右移动,在移动的过程,小猫还需要切换造型,继续编写代码如下:

关于按键的处理,在Scratch中有如下两种方式:

  • 直接使用“当按下xx键”指令;
  • 使用“重复执行” + “如果…那么” + “按下xx键”指令组合;

二者实现的效果是一样的,其区别在于前者不受绿旗控制,任何时候只要按键都会执行代码,而后者必须点击绿旗后才会执行。

有些同学比较纠结,到底什么时候该用前者,什么时候又该使用后者呢?

实际上非常简单,判断依据就是看是否有结束游戏/作品的要求,或者是明确说明在点击绿旗后按键。

很明显,本题没有结束作品的要求,所以两种方式都可以使用,但使用前者更为简单。

2. cat2角色

针对cat2角色,根据前面的思路分析,我们分3步来实现:

  • 初始化设置
  • 和cat同步移动
  • 设置外观,包括显示、隐藏和鱼眼特效

首先也是初始化设置,在cat2角色中,编写代码如下:

需要说明的是,除了y坐标不同,这里的设置和cat完全一样,包括方向和造型,这样可以确保两只小猫是完全同步的,包括左右脚切换的效果。

接下来是按键操作,和cat的代码基本一致,对应的代码如下:

最后是外观设置,当小猫走到哈哈镜面前,需要显示,否则就隐藏。如果走到左边的哈哈镜,将鱼眼特效设置为负数,如果走到右边的哈哈镜,将鱼眼特效设置为正数,继续编写代码如下:

简要说明两点:

1). 为了方便讲解,我这里使用了一个新的绿旗代码块,实际上你可以和前面初始化代码放在一起;

2). 这里给出的坐标范围和鱼眼特效值,只是一个参考值,你可以进行相应的调整;

至此,整个作品就创作好了,赶紧来体验一下哈哈镜的神奇效果吧。

五.总结与思考

本题是初级组编程部分第3题,分数为50分,积木块数量50个左右,涉及到的知识点主要包括:

  • 运动编程,包括移动、方向的设置;
  • 外观编程,包括造型切换、显示、隐藏、图层和鱼眼特效;
  • 事件编程,主要是按键处理;
  • 运算指令,包括关系运算和逻辑运算;

本题难度中等,完成时间大概在10分钟左右,对于部分同学来说,可能会遇到以下两个难点:

  • 不知道两只小猫如何同步移动;
  • 对鱼眼特效不熟悉,不知道如何设置小猫胖瘦的效果;

如果你关注过超平老师的历届真题解析,不难发现,在往届的考试中,出现过类似的作品。

比如,在2022年11月27日举办的第3次STEMA测评中,编程题第3题《小猫照镜子》和本题的场景有类似之处。

再比如,2020年10月31日举行的第11届蓝桥杯国赛编程题第6题《3D打印小猫》中就出现过鱼眼特效的设置。

所以说,要想在省赛中取得好的成绩,往届的真题就是最好的复习资料,如果你做过这些题目,那本题就变得非常简单了,你说是吧。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

从Scratch到Python 12 模块与模块化

2023-6-4 16:03:24

综合资讯

从Scratch到Python 14 文件读写

2023-6-5 10:44:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索