[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第161讲。
第15届蓝桥杯第3次STEMA测评已于2023年12月17日落下帷幕,编程题一共有6题,分别如下:
多变的太阳
转动的风车
六花阵图
变色游戏
筛选数据
消失的水母
转动的风车,本题是2023年12月17日举行的第15届蓝桥STEMA测评Scratch编程初/中级组编程第2题,题目要求编程实现转动的风车,当按下左方向键时持续左转,按下右方向键时持续右转,按下空格键停止转动。
先来看看题目的要求吧。
编程实现:
转动的风车。
具体要求:
1). 每次点击绿旗,角色、背景如图所示;?
2). 每按下一次键盘←按键后,风车都会逆时针持续缓慢转动;
3). 每按下一次键盘→按键后,风车都会顺时针持续缓慢转动;
4). 按下键盘空格按键后风车停止转动。
评判标准:
5分:满足"具体要求"中的1);
12分:满足"具体要求"中的2);
12分:满足"具体要求"中的3);
11分:满足"具体要求"中的4)。
本题只有1个风车角色,并且也只有一个造型,如图所示:
根据题目的描述,本题的重点是按键处理,包括左右方向键和空格键。在Scratch中,按键处理通常有如下两种方式:
使用"重复执行" + "如果...那么" +?"按下xx键" 3个指令的组合;
直接使用"按下xx键"指令;
二者的区别在于,第一种方式必须在点击绿旗后按键才有效,而第二种方式无需点击绿旗按键就会触发程序。
对于本题而言,没有特定的要求,使用两种方式都是可以的。
这里的关键点有两个:
按下一次方向键,风车就会持续转动;
每一次按键,都会转动或停止;
这就意味着,在按下左右方向键的时候,需要结合循环来实现风车的持续转动;当按下空格键时,停止转动;当再次按下方向键时,可以继续转动。
搞清楚题目的意思,就可以考虑代码的具体实现了,接下来,我们就进入具体的编程实现环节。
根据上面的思路分析,我们分别使用两种方式来实现:
使用按键事件
使用按键侦测
1. 使用按键事件
使用按键事件,相对比较容易,可以分成4个小步骤:
第一步,设置初始位置
第二步,按下←方向键
第三步,按下→方向键
第四步,按下空格键
代码比较简单,说明两点:
1). 在按下←方向键和→方向键的时候,需要加上”停止该角色的其他脚本“指令,确保先让风车停止转动,再沿着当前的方向转动;
2). 旋转的角度可以自己设定,但不要设置太大,题目要求的是缓慢转动。
2. 使用按键侦测
使用按键侦测的思路就是在绿旗下重复检测是否按下方向键和空格键,为了简单起见,我们可以定义一个变量“速度”来表示风车旋转的角度,当按下不同的键时,设置改变的值即可。
具体的代码如下:
代码不难,简单说明如下:
1). 点击绿旗时,速度设置为0,此时风车静止不动;
2). 按下→方向键时,速度设置为5,风车持续右转;
3). 按下←方向键时,速度设置为-5,风车持续左转;
4). 按下空格键时,速度设置为0,风车停止转动;
至此,整个作品就创作好了,是时候来测试程序的效果了。
本题是初/中级组编程部分第2题,分数为40分,积木块数量15个左右,涉及到的知识点主要包括:
Scratch按键编程;
循环编程;
条件编程;
左转和右转指令;
本题比较简单,完成时间10分钟左右,关键点在于要彻底读懂题目的意思,按照要求编写程序,确保拿到满分。
对于本题中的两种实现方案,各有优缺点。方案1,代码比较简单,但是按键不受绿旗控制,任何时候按下方向键风车都会转动;方案2,代码要麻烦一些,但是必须在点击绿旗之后按键才有效。
在不同的作品和场景中,我们要选择不同的方案,在竞赛考试时,必须注意审题,按照题目的要求编写程序。
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄
需要素材和源码的,可以移步至“超平的编程课”gzh。