小猴吃苹果-第12届蓝桥杯Scratch选拔赛真题精选
创始人
2024-03-02 15:49:46
0

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

蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。

第12届蓝桥杯青少年组第2次选拔赛于2020年9月20日举行,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

小猴吃苹果,本题是2020年9月20日举行的第12届蓝桥杯Scratch选拔赛真题编程第3题,初级组和中级组都有此题,题目要求编程实现小猴搭梯子吃苹果的有趣场景。

先来看看题目的要求吧。

一.题目说明

编程实现:

猴子想吃苹果但是苹果树太高了,它只好自己搭建梯子,来吃到苹果。

具体要求:

1). 当绿旗被点击后,显示Blue Sky背景、猴子和苹果角色(大小都为50),出现在如图位置(大致位置即可);

2). 鼠标点击猴子之后,猴子能搭建出如图的梯子(使用画笔)。图中小正方形边长为50;

3). 每按下一次空格键,猴子就可以爬一格梯子,猴子默认已经站在第一格;

4). 当猴子爬到上面碰到苹果时,苹果和猴子同时用2秒钟时间慢慢回到地面上,程序结束;

5). 重新点击绿旗,程序可以重复执行。

评判标准:

  • 2分:角色、背景符合要求;

  • 6分:正确画出符合要求的梯子;

  • 6分:猴子可以按照题目要求爬梯子;

  • 6分:猴子拿到苹果后可以按照要求回到地面;

  • 10分:程序可以重复执行,且完全符合要求。

二.思路分析

本题包含4个角色,分别是Tree,Monkey、Apple和Pencil,如图所示:

图中的梯子是通过画笔绘制出来的,所以,这是一个典型的运动和画笔相结合的作品。

从功能上看,本题并不复杂,点击猴子,使用画笔角色绘制出梯子,有了梯子之后,按下空格键,猴子就开始往上爬,每次爬一个格子。碰到苹果后,猴子和苹果一起返回地面。

这里的重点是如何衔接各个角色,很显然,这需要使用事件广播机制。除此之外,还需要进一步考虑各个事件的先后顺序,试想一下,每点击一次猴子,就绘制一个梯子,是否有这个必要?如果梯子还没搭好,按下空格键猴子就开始向上爬了,这样是否合理?

对于本题,我会先按照常规方式实现所有功能,以满足题目的要求,然后再进行优化,确保作品更完整,更合理。 

三.编程实现

根据题目描述和思路分析,我们可以分四步来编写程序:

  • 初始化设置

  • 绘制梯子

  • 猴子爬梯子吃到苹果

  • 作品优化

1. 初始化设置

这里的4个角色都需要进行初始化设置,对于Tree1角色,只需要固定好其位置即可,代码如下:

monkey也需要设置好位置,代码如下:

Apple角色的初始化代码如下:

对于Pencil角色而言,需要隐藏起来,同时需要清空舞台,对应的编写代码如下:

由于Pencil角色自始至终都是不用显示的,因此也就不需要设置其位置了。

2. 绘制梯子

鼠标点击猴子,就要开始绘制梯子了,需要注意的是绘制需要移动角色,最好不要直接使用猴子来绘制梯子,而是借助Pencil角色来实现,我们可以通过事件广播机制来实现角色之间的通信。

在Monkey角色中,编写代码如下:

相应的,Pencil角色在接收到广播消息后,就开始绘制梯子了,其实就是自下而上绘制6个正方形,切换到Pencil角色,编写代码如下:

代码比较简单,画一个正方形需要循环4次,然后再重复6次,就可以绘制好梯子了,但是要注意,一个正方形画好之后,需要向上移动50步。

3. 猴子爬梯子吃到苹果

画好梯子之后,当按下空格键时,猴子向上爬一格,当猴子碰到苹果时,猴子又慢慢回到地面,在Monkey角色中编写代码如下:

由于苹果要和猴子一起回到地面,所以碰到苹果时,发送了一个”回来“的广播消息。相应的苹果角色在接收到广播消息后,也慢慢滑行到舞台底部,切换到Apple角色,增加如下代码:

注意,猴子和苹果角色滑行的时间相同,这样可以保证两者是同步,但是位置并不相同,在创作时,需要多测试几次,找到合适的坐标值,确保二者的相对位置不变,滑行结束,就停止全部脚本,结束程序。

至此,所有的效果都已经实现了,你可以测试一下效果如何。

4. 作品优化

上面的代码,基本上是能够满足题目要求的,但是有些不合理的地方,比如反复点击猴子,画笔会一遍又一遍地绘制梯子,只不过它们重叠在一起,看起来不明显。

再比如,在没有画好梯子之前,直接按下空格键,猴子也会煞有介事的往上爬,这就有些不合理了,这个该怎么解决优化呢?

其实也不难,首先去掉”当角色被点击“指令,使用”碰到鼠标指令“和”按下鼠标“组合指令来判断是否按下鼠标,同时这里只需要判断一次,最简单的办法是使用”等待条件“指令。

当鼠标点击猴子后,发送”画梯子“广播消息,不同的是这一次我们使用”广播并等待“指令,在梯子画完之后再继续执行后续代码。

接下来继续判断是否按下空格键,同样的,去掉”当按下空格键“指令,使用”等待条件“和侦测模块中的“按下空格键”来判断是否按下空格键,对应的代码如下:

需要注意的是,使用等待条件判断是否按下空格键时,需要在尾部使用“等待按下空格键不成立”指令,以确保按下并松开鼠标是一次按键操作,这是一个非常经典的代码结构,你可以收藏起来。

经过优化之后,作品就非常合理,非常严谨了。

四.总结与思考

本题难度系数为2,积木块数量40个左右 ,涉及到的知识点主要包括:

  • 设置角色位置,关键是要养成初始化角色位置的习惯;

  • 事件广播机制,重点是广播事件并等待指令的使用及特点;

  • 画笔的使用,使用画笔结合移动绘制梯子;

  • 点击角色的两种实现方式;

  • 按下某个键的两种实现方式。

本题相对比较简单,重点是如何对作品进行优化,让作品更完整,更符合逻辑。我们在创作任何作品时,都需要考虑作品的完整性、逻辑性,力争给玩家最好的用户体验,这是一个不断迭代,不断创新的过程,你会从中受益良多。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

需要素材和源码的,可以联系本人,或者移步至同名wx号。

相关内容

热门资讯

隧道施工专项施工方案 隧道施工专项施工方案  一、什么是方案  方案,汉语词语,一般是指进行工作的具体计划或对某一问题制定...
开展文明交通活动方案 开展文明交通活动方案(通用10篇)  方案是从目的、要求、方式、方法、进度等都部署具体、周密,并有很...
青年节活动方案 有关青年节活动方案(通用17篇)  为了确保活动有效开展,常常需要提前制定一份优秀的活动方案,活动方...
婚纱摄影促销活动方案 婚纱摄影促销活动方案(合集)  为了确保事情或工作安全顺利进行,常常需要预先准备方案,方案一般包括指...
素质拓展活动方案 素质拓展活动方案(15篇)  为了确保事情或工作扎实开展,时常需要预先制定一份周密的方案,方案可以对...
幼儿园有趣的活动方案 幼儿园有趣的活动方案(通用18篇)  为了确保工作或事情能有条不紊地开展,就不得不需要事先制定方案,...
全国助残日活动方案 全国助残日活动方案(精选20篇)  为了确保工作或事情能有条不紊地开展,通常会被要求事先制定方案,方...
小舞台活动方案 小舞台活动方案  为了保障事情或工作顺利、圆满进行,常常要根据具体情况预先制定方案,方案的内容和形式...
最有创意活动方案 最有创意活动方案(精选9篇)  为了确定活动的圆满进行,常常需要提前制定一份优秀的活动方案,活动方案...
校园文化艺术节活动方案 校园文化艺术节活动方案(精选11篇)  为保证活动高起点、高质量、高水平开展,就不得不需要事先制定活...
小学游园活动方案 小学游园活动方案  为了确保事情或工作得以顺利进行,往往需要预先制定好方案,方案是从目的、要求、方式...
国际牛奶日主题活动方案 国际牛奶日主题活动方案  为了确保事情或工作有序有力开展,就常常需要事先准备方案,方案是阐明具体行动...
高三高考语文复习计划书参考 高三高考语文复习计划书(参考范文)  复习计划要留有余地,不要“满打满算”。下面小编为大家推荐的是高...
劳动节单位活动方案 劳动节单位活动方案(精选5篇)  为了确保活动有序有力开展,我们需要提前开始活动方案制定工作,活动方...
大型公司年会活动策划方案 大型公司年会活动策划方案(精选8篇)  为了确定活动的圆满进行,我们需要事先制定活动方案,一份好的活...
庆六一文艺汇演活动方案 2021年庆六一文艺汇演活动方案范文(通用5篇)  为了确保活动顺利进行,我们需要事先制定活动方案,...
七夕情人节活动方案 七夕情人节活动方案(精选16篇)  为保障事情或工作顺利开展,常常需要提前制定一份优秀的方案,方案是...
幼儿园大班毕业典礼活动方案 幼儿园大班毕业典礼活动方案(12篇)  为了确保事情或工作能无误进行,通常需要提前准备好一份方案,方...
社区活动方案 社区活动方案  为了保障事情或工作顺利、圆满进行,时常需要预先开展方案准备工作,方案一般包括指导思想...
春节活动方案 春节活动方案(精选17篇)  为了确保事情或工作科学有序进行,通常需要预先制定一份完整的方案,方案是...