小狗避障 |
您所在的位置:网站首页 › scratch中级篇有点难 › 小狗避障 |
[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第139讲。 小狗避障,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第4题,题目要求编程实现小狗避障效果。玩家输入一个5-8之间的数字,在舞台上呈现对应数量的柱子,1秒后小狗水平向右移动,并且依次绕过每根柱子。 先来看看题目的要求吧。 一.题目说明编程实现: 小狗避障。 具体要求: 1). 点击绿旗,角色、背景如图所示; 2). 舞台下方出现询问框:"输入5-8之间的一个数字"(包含5和8); 3). 如果输入的数字不在5-8之间,询问框说:"请重新输入5-8之间的一个数字"; 4). 如果输入的数字在5-8之间,在舞台上呈现对应数量的避障柱子; 5). 等待1秒,小狗水平向右移动,并按照以下要求绕过每根柱子; 要求:从第1根柱子后面绕过,从第2根柱子前面绕过,从第3根柱子后面绕过……以此类推。(可明显看到小狗跑动的过程,且动作连贯没有延迟与卡顿,请以程序演示视频为准); 6). 3秒内小狗到达舞台右边缘,程序结束。 评判标准: 5分:满足"具体要求"中的1); 5分:满足"具体要求"中的2); 10分:满足"具体要求"中的3); 15分:满足"具体要求"中的4); 20分:满足"具体要求"中的5); 5分,满足"具体要求"中的6)。 二.思路分析本题包含两个角色,分别是小狗和柱子,如图所示: 其中,小狗角色有4个造型,如图: 根据题目描述,可以将作品拆分成3个小模块: 玩家输入数字 克隆柱子 小狗向右移动 其中,玩家输入数字需要使用问答指令,但是要确保输入的数字在5~8之间,如果不在这个范围内,则重新提问,一般的解决方案是使用直到循环。 克隆柱子比较简单,根据玩家输入的数字自左至右依次克隆即可。 小狗向右移动也比较简单,不过这里有一个难点,就是要求小狗从奇数根柱子后面绕过,从偶数根柱子前面绕过。 这就涉及到角色的层次关系,如果将柱子从1开始编号,对于编号为奇数的柱子,要移到前面,编号为偶数的柱子则移到后面。 这里有一个小疑问,是改变小狗的层次关系简单呢,还是改变柱子的层次关系更简单呢? 相对来说,改变柱子的层次关系更为简单,你说是吧。接下来,我们进入具体的编程实现环节。 三.编程实现根据题目描述和思路分析,我们可以分如下3个步骤来编写程序: 玩家输入数字 克隆柱子 小狗向右移动 1. 玩家输入数字 首先,要明确到底是哪个角色在询问呢,小狗、柱子还是舞台背景? 小狗肯定不行,因为点击绿旗时小狗处于显示状态,柱子和舞台背景都是可以的,相对来说,在柱子角色中询问更为简单。 其次,要注意询问的内容有两句,一句是”输入5-8之间的一个数字“,一句是”请重新输入5-8之间的一个数字“。 如果输入的数字不在5~8之间,则一直要重复询问,切换到柱子角色中,编写代码如下: 同时要注意,角色的初始化不能少,包括隐藏和坐标设置。 2. 克隆柱子 一旦用户输入正确,就要开始克隆柱子了,克隆比较简单,重点是如何给柱子进行编号,从而区分哪个处于奇数位置,哪个处于偶数位置。 相信聪明的你已经想到了,使用变量,全局变量和私有变量都可以。如果是全局变量,就表示柱子的顺序,如果是私有变量,就可以用来表示柱子的编号。 此处,我采取私有变量的方案,在上面的代码块后面,继续编写代码如下: 这里的”_ID“是私有变量,加下划线只是个人习惯,重要的是要勾选”仅适用于当前角色“,如图: 在代码的最后面,增加了一个”广播go“的指令,其作用是告诉小狗可以开始移动了,稍后在第3步编写具体代码。 一旦生成了柱子克隆体,就需要将柱子显示出来,同时根据其ID设置层次关系,对应的代码如下: 判断奇偶数就是看数字能不能被2整除,如果能整除就说明是偶数,否则就是奇数,所以这里用到了余数指令。 3. 小狗向右移动 点击绿旗时,小狗位于舞台左下方,对小狗角色进行初始化设置,切换到小狗角色,编写代码如下: 在接收到”go“广播消息后,开始向右移动,对应的代码如下: 简单说明4点: 1). 题目要求等待1秒小狗才开始移动,所以在接收到广播消息之后,增加了一个”等待1秒“指令; 2). 判断是否到达舞台右边缘,不能直接使用”碰到舞台边缘“指令,这是因为舞台边缘包括上下左右4个边缘,角色的初始位置就位于舞台左边缘; 3). 由于在移动的过程中有连贯动作,也就是切换造型,但是不能切换太快,所以增加了一个”等待0.1秒“指令; 4). 题目要求3秒内到达舞台右边缘,可以通过改变移动速度来实现,比如这里的”将x坐标增加20“,你也可以设置为其它的值; 至此,小狗避障作品就创作好了,看看这只聪明的小狗是如何绕过柱子的吧。 四.总结与思考本题是中级组编程部分第4题,分数为60分,积木块数量37个左右,涉及到的知识点主要包括: 问答指令; 克隆编程; 私有变量; 外观编程,包括造型切换、显示、隐藏和层次关系设置; 运算指令,包括比较运算、逻辑运算和余数运算; 事件广播机制; 这是中级组的第4题,题目难度一般,完成时间在15分钟左右,难点在于如何实现小狗轮流绕过柱子的效果。 作品代码不多,但是涉及到的知识点不少,这就要求考生具备扎实的编程基础,能够灵活运用各知识点快速创作作品。 留给你一个小小的思考题,题目要求3秒内到达舞台右边缘,如果要精确到刚好3秒,该如何实现呢? 如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄 需要素材和源码的,可以移步至“超平的编程课”gzh,或者私信本人。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |