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

2). 当按下键盘上的右方向键,小猫面向右,向右移动;当按下键盘上的左方向键,小猫面向左,向左移动;当松开按键,小猫停止移动;(小猫移动时持续切换造型)
3). 当小猫走到右侧哈哈镜前时,哈哈镜子中开始出现胖胖的特效小猫,并且镜子中的影像要跟随小猫一起移动;

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

评判标准:

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

之所以将舞台角色移到最后面,是为了确保我们能看到两只小猫。
2. cat角色
首先是初始化设置,包括角色的位置、造型、旋转方式和方向,在cat角色中编写代码如下:

这里将旋转方式设置为左右翻转,是确保小猫不会出现头朝地的情况。
当按下←键,小猫向左移动,当按下→键时,小猫向右移动,在移动的过程,小猫还需要切换造型,继续编写代码如下:

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

需要说明的是,除了y坐标不同,这里的设置和cat完全一样,包括方向和造型,这样可以确保两只小猫是完全同步的,包括左右脚切换的效果。
接下来是按键操作,和cat的代码基本一致,对应的代码如下:

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

简要说明两点:
1). 为了方便讲解,我这里使用了一个新的绿旗代码块,实际上你可以和前面初始化代码放在一起;
2). 这里给出的坐标范围和鱼眼特效值,只是一个参考值,你可以进行相应的调整;
至此,整个作品就创作好了,赶紧来体验一下哈哈镜的神奇效果吧。
一.题目说明
编程实现: 神奇的哈哈镜。 具体要求: 1). 点击绿旗,角色、背景如图所示;


- 5分:满足"具体要求"中的1);
- 11分:满足"具体要求"中的2);
- 17分,满足"具体要求"中的3);
- 17分:满足"具体要求"中的4)。
二.作品效果
在编程之前,先来看一下作品的完整效果吧: [video width="640" height="480" mp4="https://cdn.scratch5.com/wp-content/uploads/2023/06/84d01cfe-efc9-11ed-990c-e66ab993b61a-v8_f1_t1_uPLGXjEJ.mp4"][/video]三.思路分析
本题有3个角色,分别是舞台和两只小猫,如图所示:
- 和cat同步移动
- 显示和隐藏
- 设置外观特效
四.编程实现
根据题目描述和思路分析,我们可以分角色来编写程序:- 舞台角色
- cat角色
- cat2角色



- 直接使用“当按下xx键”指令;
- 使用“重复执行” + “如果...那么” + “按下xx键”指令组合;
- 初始化设置
- 和cat同步移动
- 设置外观,包括显示、隐藏和鱼眼特效



五.总结与思考
本题是初级组编程部分第3题,分数为50分,积木块数量50个左右,涉及到的知识点主要包括:- 运动编程,包括移动、方向的设置;
- 外观编程,包括造型切换、显示、隐藏、图层和鱼眼特效;
- 事件编程,主要是按键处理;
- 运算指令,包括关系运算和逻辑运算;
- 不知道两只小猫如何同步移动;
- 对鱼眼特效不熟悉,不知道如何设置小猫胖瘦的效果;
微信扫码关注
抖音扫码关注