切换子弹 |
您所在的位置:网站首页 › 子弹杯是什么杯 › 切换子弹 |
本文转自于”超平的编程课“公众号,更多教程,可移步至公众号。 [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第4讲。 第12届蓝桥杯青少年组国赛于2021年5月29日举行,本次赛事仍然采取了在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。 Scratch切换子弹,本题是第12届蓝桥杯Scratch国赛真题编程部分第4题,初级组和中级组都有此题。题目要求考生编程实现切换子弹效果,按1发射火焰弹,按2发射火焰散弹,本题难度系数为3,分值为80分。 先来看看题目的详细说明吧。 一.题目说明编程实现:切换子弹 具体要求: 1). 点击绿旗,呈现对应的角色与背景; 2). 按下数字键1,发射1类型子弹-火焰弹; 3). 按下数字键2,发射2类型子弹-火焰散弹; 4). 再次按下数字键1,发射1类型子弹-火焰弹; 5). 子弹为持续发射状态,数字键1与数字键2可以持续切换发射子弹的类型。 评判标准: 5分:满足要求1; 25分:满足要求2 25分:满足要求3; 10分:满足要求4; 15分:满足要求5。 二.思路分析本题逻辑比较简单,当按下数字键1时,沿着正前方不停地发射火焰弹,当按下数字键2时,沿着5个方向同时发射火焰散弹。 本题只有两个角色,其中子弹角色是重点,几乎所有的代码都是在子弹角色中来编写的。 按键处理,我们可以使用事件模块中的“当按下xx键”指令,也可以使用控制模块中的“如果...那么”指令结合侦测模块中的“按下xx键”指令。不停的发射子弹,这需要使用Scratch中的克隆技术。 本题的难点在于,如何沿着5个方向同时发射火焰散弹,这会用到Scratch克隆中的一个小技巧,稍后详细为你介绍。 三.编程实现接下来,我们就分3步来编写程序: 实现按键处理 发射1类型子弹-火焰弹 发射2类型子弹-火焰散弹 1. 实现按键处理 针对按键处理,根据前面的介绍,有两种方式实现,不过我还是比较推荐第二种方式,也就是使用“如果...那么”指令结合“按下xx键”指令,原因很简单,使用这种方式,只有在点击绿旗之后才能启动程序,如果使用第一种方式,不用点击绿旗,直接按键盘就可以启动程序。 切换到子弹角色,编写代码如下: 注意:很多刚开始学编程的孩子,经常会漏掉这里的”重复执行“指令,导致没有任何效果,切记,”如果...那么“指令只能执行一次,通常需要和”重复执行“指令配合使用。 接下来就需要分别处理发射两种不同的子弹了。 2. 发射1类型子弹-火焰弹 1类型子弹始终沿着90度方向发射,因此,只需要将子弹角色设置为90度,不停的克隆即可,只是要控制一下克隆子弹的频率,通常的做法就是等待一下,比如0.05秒,这部分的代码如下: 一旦生成了子弹克隆体,就可以让它不停地向前移动,直到碰到舞台边缘消失,代码如下: 这样一来,1类型子弹就可以成功发射出去了。 3. 发射2类型子弹-火焰散弹 这是本题的重点,也是难点,沿着5个不同的方向发射子弹,意味着我们需要在按下数字键2的时候,一次性克隆5个子弹,并设置不同的方向。看起来挺简单的,大部分学生都会这么写: 从逻辑上来讲,这么写没有任何问题,但是效果看起来却有点奇怪,如下图所示: 眼尖的你,估计已经发现了,这里的5颗子弹并不是同时发射出去的,明显的有先后顺序。 尽管这里没有”等待1秒“指令,但是代码执行还是要占用时间的,所以这里的5颗子弹还是有先后顺序的,也就导致出现了上图所示的效果。 (O_O)? 能否让5颗子弹同时克隆出来呢? 当然能,今天超平老师就教你一招,借助自制积木就可以,将克隆5颗子弹的程序定义成自制积木,如图所示: 同时确保在定义自制积木的时候,勾选左下角的”运行时不刷新屏幕“,如图: 然后在程序中使用自制积木来替换刚才的代码,如图: 那么,你可能要问了,这里的”运行时不刷新屏幕“是个啥意思呢? 其实,更确切地说,“运行时不刷新屏幕”,是不刷新舞台。其作用是,使得自制积木中的代码在执行时省去舞台刷新的步骤,并在整个自制积木执行完毕后再刷新屏幕。 由于刷新舞台会消耗计算机资源,需要一定的时间,因此使用“运行时不刷新屏幕”功能可以使特定的代码加快执行效率,缩短运行时间,但是用户无法通过舞台看到程序运行过程中的效果变化,可以简单的理解这部分的代码是同时执行的。 除了本例中的确保多个子弹同时克隆的效果,还可以用于Scratch画笔瞬间绘制好图形,以及角色碰撞时控制其行为的物理引擎等。 总之,“运行时不刷新屏幕”功能为在Scratch中实现更多更丰富的效果提供了可能,是一个比较强大的功能。 至此,发射2类型子弹的效果也完成了。 四.总结与思考本题相对较为简单,重点考察了下面4个知识点: 按键处理程序,建议使用”如果...那么“和”按下xx键“组合方式; 克隆的使用,重点是克隆3指令的含义和用法; 自制积木的使用,分为定义和调用两个阶段; ”运行时不刷新屏幕“设置项的意义和妙用; 最后需要强调一下,不管是发射1类型子弹还是2类型子弹,其克隆体运动的代码都是一样的,都是通过重复执行”移到10步“来实现的。有的同学可能在想,使用”将x坐标增加10“不是也可以吗? 这个还真不行,使用”将x坐标增加10“指令除了x坐标发生变化之外,还有一个隐含信息,那就是它始终面向右方,也就是90度。这就导致,所有的子弹只会沿着90度方向发射出去,而这里的2类型子弹,子弹是沿着5个不同方向发射出去的。 实际上,我们可以这么理解,”将x坐标增加10“只是”面向方向“ + ”移动10步“组合的一个特例,如果x增加的是正数,那么方向就是90度,如果x增加的是负数,那么方向就是-90度。 关于角色的运动,在Scratch中有3种实现方式,我们需要根据具体的问题,具体分析,然后采取最优的方案,这也是计算思维的实际运用和体现。 如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。 需要素材和源码的,可以联系作者,或者移步至”超平的编程课“公众号。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |