模拟昼夜交替-第11届蓝桥杯Scratch国赛真题第1题

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

第11届蓝桥杯青少年组国赛原定于2020年4月25日举行,因疫情推迟到2020年10月31日,并且改为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

模拟昼夜交替,本题是第11届蓝桥杯Scratch国赛真题编程第1题,中级组和初级组都有此题。题目要求考生通过Scratch编程来模拟昼夜交替现象,本题难度系数为2。

题目说明

编程实现:

白天太阳升起,夜晚月亮升起,让我们来模拟昼夜的交替!

图片[1]-scratch模拟昼夜交替_第11届蓝桥杯scratch国赛教程-超平的编程课

具体要求:

1). 当绿旗被点击后,舞台出现太阳和天空背景,太阳从舞台左侧升起之后,从右侧落下至消失;

2). 当太阳在右侧落下消失后,舞台背景变成夜晚;

3). 之后月亮从舞台左侧升起之后,从右侧落下至消失;

4). 当月亮在右侧消失后,舞台变成白天,如此循环;

5). 点绿旗,程序可更新开始。

评判标准:

  • 10分:满足要求1;
  • 10分:满足要求2;
  • 10分:满足要求3;
  • 10分:满足要求4;
  • 10分:满足要求5。

效果预览

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

思路分析

本题的舞台背景有两张图片,分别是白天和夜晚,角色也有两个,即太阳和月亮,如图所示:

图片[2]-scratch模拟昼夜交替_第11届蓝桥杯scratch国赛教程-超平的编程课

太阳和月亮都是从舞台左侧升起,从右侧落下至消失,很显然,它们运动的轨迹不是直线,而是抛物线,如图所示:

图片[3]-scratch模拟昼夜交替_第11届蓝桥杯scratch国赛教程-超平的编程课

因此,本题的关键是如何实现角色的抛物线运动,典型的解决思路是将抛物线运动进行分解,分为水平和垂直两个方向上的运动,其中水平方向上做直线运动,而垂直方向先上升直到最高点然后下落

编程实现

根据题目描述,我们可以分角色来编写代码:

  • 太阳角色
  • 月亮角色

1.太阳角色

绿旗被点击时,显示的是白天,需要切换到白天背景,此时太阳移到舞台左侧下方位置并显示,然后开始做抛物线运动直到舞台右边缘消失,然后切换到夜晚背景,其代码如下:

图片[4]-scratch模拟昼夜交替_第11届蓝桥杯scratch国赛教程-超平的编程课

需要说明三点:

1). 我们可以在角色中直接切换背景,同时Scratch还专门提供了一个”当背景换成xx“指令,其作用相当于接收广播消息。

2). 根据前面的分析,我们将太阳的运动分解为水平运动和垂直运动,水平方向比较简单,每次将x坐标增加1步。重点是垂直方向,因为角色先向上运动,此时需要增加y坐标,但是每次增加的步数是变化的,并且越来越小,当增加的步数为0的时候,就到最高点了,接下来增加的步数变成负数,开始下落了,这就是变量”垂直速度“的作用。

3). 太阳运动的代码没有写在绿旗代码块中,是因为昼夜交替是循环进行的,当月亮下落之后,只需要切换成白天背景,就可以再次执行”当背景换成白天“代码块了。

2. 月亮角色

月亮角色和太阳角色效果是一样的,代码基本上是一样的,切换到月亮角色,编写代码如下:

图片[5]-scratch模拟昼夜交替_第11届蓝桥杯scratch国赛教程-超平的编程课

需要说明的是,这里的变量”垂直速度“是全局变量,也就是说太阳和月亮共用了这个变量,由于太阳和月亮不是同时出现并运动的,共用一个变量是没有问题,如果二者同时运动,则需要分别定义变量,或者使用私有变量。

总结与思考

作为国赛的第一题,本题属于简单题目,一共使用了30个积木块,涉及到的知识点包括:

  • 切换背景,尤其要注意灵活使用”当背景换成xx“指令;
  • 运动编程,重点是抛物线运动的分解及实现;
  • 循环编程,这里主要使用了”重复执行直到“指令;
  • Scratch坐标系,包括舞台的坐标范围及角色坐标的确定;
  • 变量的使用。

本题中的抛物线运动是一个非常经典的编程模式,在很多游戏开发中都会用到,比如水果忍者、愤怒的小鸟、投篮游戏等,一旦掌握了抛物线运动的编程原理及实现技巧,就可以轻松的创作这些游戏了。

不知道你注意到了没,抛物线运动还涉及到两个重要学科,一是数学,二是物理。其中,在数学学科中,抛物线是从函数的角度来讨论的,而在物理学科中,抛物线是从运动的角度来考虑。

对于同一个事物,从不同的角度去讨论,我们才能更好地去认识和理解它,这正是多元思维模型所倡导的。

多元思维模型是查理芒格率先提出的,就是吸收多学科的知识,从每个学科总结出特定的思维模式,融会贯通,依靠综合思维模型框架进行思考和决策。

芒格有一句很著名的话:拿着锤子的人,看什么都像钉子。多元思维模型也是一种升维思考,因为现实中的很多问题可能涉及的是多个维度,多元思维可以运用不同学科的知识,从各个方面思考去解决问题。

少儿编程作为STEAM教育公认的一环,很好的融合了科学、技术、工程、艺术和数学5大学科,好的编程课程可以培养孩子的多元思维以及跨学科的学习能力。


需要素材和源代码的,可以转到这里,模拟昼夜交替-2020.10.31蓝桥杯国赛第1题

© 版权声明
THE END
喜欢就支持一下吧
点赞70 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容