题目要求
Scratch玛雅神庙,这是第12届蓝桥杯Scratch国赛真题编程题部分的第6题,也是最后一题,于2021年5月29日举行。本题要求考生使用Scratch编程实现开启玛雅神庙大门效果,难度系数为5,分数为100分。
先来看看题目的说明吧。
编程实现:玛雅神庙
具体要求:
1). 点击绿旗,出现对应的角色与背景;

2). 按下空格键,玛雅罗盘说:“请观察火把点亮的顺序”,然后神庙中的四个火把按照随机顺序分别亮起来并熄灭一次;

3). 玛雅罗盘说:“请按照刚才的顺序点亮所有火把”,然后通过上、下、左、右按键控制手指进行对应方向上的移动,手指移动到一个火把上,按下S键,火把会再次亮起;

4). 四个火把全部亮起,如果点亮顺序错误,玛雅罗盘说:“错误”,游戏结束;

5). 四个火把全部亮起,如果点亮顺序正确,玛雅罗盘说:“正确”,并按照每个火把代表的数字,分4次顺时针旋转到对应的数字位置,每次间隔1秒,顺序与点亮火把的顺序一致;

6). 玛雅罗盘转动成功后,大门打开。

评判标准:
- 5分:满足要求1;
- 10分:满足要求2;
- 10分:满足要求3;
- 25分:满足要求4;
- 45分:满足要求5;
- 5分:满足要求6。
作品效果
Scratch玛雅神庙作品的预览效果如视频所示:
作品解读
Scratch玛雅神庙作品的角色列表如图所示:

本作品考察的知识点主要包括如下6个方面:
- 造型切换,包括火把和门两个角色;
- 按键处理,包括空格键和四个方向键;
- 角色的运动,一是手势角色的上下左右移动,二是罗盘角色的旋转运动;
- 事件广播机制,通过事件广播来控制各相关功能的先后顺序,比如火把的点亮顺序、罗盘转动和门打开的时机;
- 列表操作,通过列表将火把顺序和点亮顺序记录下来,并进行比较,从而确定是正确还是错误;
- 自制积木
本作品的难点在于,如何实现罗盘的旋转,因为火把的顺序是随机的,所以每次旋转的起点和终点也是变化的,如何让罗盘按照要求旋转呢?
至少有两种方法,第一种方法是根据4个数字所表示的方向,重复执行旋转直到等于其方向为止,第二种方法是每次旋转都设定好起点和终点,然后旋转即可。第二种方法比较简单,但第二种方法更加严谨灵活,我们这里采取的就是第二种方案,可以定义一个自制积木用于实现从起点到终点的旋转,部分代码如图所示:

由于代码较长,这里只列出了部分代码,其思路和写法是一致的,然后就可以利用该自制积木来实现罗盘的旋转了,仔细想一想,其实也没有那么复杂,你说是吧^_^。
暂无评论内容