小猴吃苹果-第12届蓝桥杯Scratch选拔赛真题精选

2023-11-08

[导读]:超平老师计划推出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号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小猴吃苹果-第12届蓝桥杯Scratch选拔赛真题精选 的相关文章

  • 蓝桥杯-排列序数

    题目 标题 排列序数 如果用a b c d这4个字母组成一个串 有4 24种 如果把它们排个序 每个串都对应一个序号 abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bacd 6 badc 7 bcad
  • 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。并排序[c实现]

    void merge int nums1 int nums1Size int m int nums2 int nums2Size int n int end1 m 1 int end2 n 1 int end n m 1 while end
  • c++ 中ref 和引用的区别

    c 中 本身可以使用 来实现引用 那为什么还会出现ref 呢 ref int f2 int c c cout lt lt in function c lt lt c lt
  • 蓝桥杯备赛:贪心

    例题1 最少砝码 问题描述 你有一架天平 现在你要设计一套砝码 使得利用这些砝码可以称出任意 小于等于 NN 的正整数重量 那么这套砝码最少需要包含多少个砝码 注意砝码可以放在天平两边 输入格式 输入包含一个正整数 N 输出格式 输出一个整
  • 蓝桥杯:基础练习 特殊回文数(java实现)

    问题描述 123321是一个非常特殊的数 它从左边读和从右边读是一样的 输入一个正整数n 编程求所有这样的五位和六位十进制数 满足各位数字之和等于n 输入格式 输入一行 包含一个正整数n 输出格式 按从小到大的顺序输出满足条件的整数 每个整
  • 备战2023蓝桥国赛-传纸条

    题目描述 解析 这道题想了我好久 一开始我是想假如只走一条路线 从 1 1 走到 m n 这种问题该怎么解决呢 针对这种问题我是设了dp k i j 表示走了k步到达 i j 的好心程度之和的最大值 然后根据这个来写出转移方程来计算 后面就
  • 洛谷-【入门4】数组

    1 小鱼比可爱 题目描述 人比人 气死人 鱼比鱼 难死鱼 小鱼最近参加了一个 比可爱 比赛 比的是每只鱼的可爱程度 参赛的鱼被从左到右排成一排 头都朝向左边 然后每只鱼会得到一个整数数值 表示这只鱼的可爱程度 很显然整数越大 表示这只鱼越可
  • 少儿创意学编程(Scratch基础篇):第4课——聊天机器人

    少儿创意学编程 Scratch基础篇 参考了英国公益组织发起的 code club 代码俱乐部 少儿免费学编程活动 愿为中国的少儿创意编程教育尽微薄之力 对国内的家长 信息教师和相关教育机构有所帮助 共同促进软件素质教育的发展 本课程以Sc
  • 蓝桥杯单片机组——程序框架及客观题

    文章目录 前言 程序框架 main 中断 两段式代码结构 单片机运行流程 代码风格 客观题 总结 目录 前言 前面两篇主要是介绍了蓝桥省赛的一些参赛技巧 此篇主要是分享程序框架和一些客观题的链接 程序框架 蓝桥的评分是综合了效果和代码步骤的
  • xml转义字符

    在mybatis在编写sql时不能在XML里直接使用 lt 或者是 gt 在这里需要使用转义字符替换 下面列举常用的xml转义对应 1 lt lt 小于号 2 gt gt 大于号 3 amp 和 4 apos 单引号 5 quot 双引号
  • 第十四届蓝桥杯程序设计C++B组 (详细图解+保姆级注释)

    0 写在前面 本届CB组题目难度较往年整体提升了一些 考察知识点全面 题目质量很高 推荐备赛蓝桥杯或感兴趣的同学深入研究本套题 废话不多说 直接上干货 一 冶炼金属 签到题难度 考察数论分块知识or二分 有部分同学可能知道下取整的定义 但是
  • C++:压缩算法1.0

    题目描述 某压缩算法的基本思想是用一个数值和一个字符代替具有相同值的连续字符 例如 输入字符串 RRRRRGGBBBBBBC 压缩后为 5R2G6B1C 请编写程序实现上述功能 输入 输入共一行 一串待压缩的字符 输出 输出共一行 压缩后的
  • 1093: 数1的个数

    存限制 128 MB 题目描述 给定一个十进制正整数n 1 n 10000 写下从1到n的所有整数 然后数一下其中出现的数字 1 的个数 例如当n 2时 写下1 2 这样只出现了1个 1 当n 12时 写下1 2 3 4 5 6 7 8 9
  • 问题 D: 稀疏矩阵类型判断

    题目描述 输入一个稀疏矩阵 输出其类型 类型包括 上三角 对角线及其右上方的元素非0 其它元素为0 下三角 对角线及其左下方的元素非0 其它元素为0 对称 沿对角线对称的元素非0且相等 空矩阵 所有元素都为0 其它为普通矩阵 输入 输入包括
  • 蓝桥杯 成绩统计

    目录 问题描述 思路分析及代码实现 问题描述 小蓝给学生们组织了一场考试 卷面总分为 100 分 每个学生的得分都是一个 0 到 100 的整数 如果得分至少是 60 分 则称为及格 如果得分至少为 85 分 则称为优秀 请计算及格率和优秀
  • 三个小朋友分糖果

    题目描述 有甲 乙 丙三个小朋友 甲有x粒糖果 乙有y粒糖果 丙有z粒糖果 现在他们做一个游戏 从甲开始 将自己的糖平均分三份 自己留一份 其余两份分别给乙与丙 多余的糖果自己吃掉 然后乙与丙也依次这样做 问最后甲 乙 丙三人各有多少粒糖果
  • 剑指Offer 12—矩阵中的路径

    题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 如果 word 存在于网格中 返回 true 否则 返回 false 单词必须按照字母顺序 通过相邻的单元格内的字母构成 其中 相邻 单元格是那些水平相邻
  • Open Camera异常分析(一)

    负责的项目中遇到一些三方和其他的场景使用camera导致问题 并且没有及时释放camera device致使手机camera应用一直无法使用的严重问题 针对这类问题进行了一系列的分析与追踪 最后算是定位到了问题且提供了一些解决方案 但整个追
  • 第十二届蓝桥杯 2021年省赛真题 (Java 大学C组) 第二场

    蓝桥杯 2021年省赛真题 Java 大学C组 第二场 A 浮点数 B 求余 C 双阶乘 D 格点 E 整数分解 F 3 的倍数 G 特殊年份 H 小平方 I 完全平方数 J 负载均衡 A 浮点数 题目 问题描述 IEEE 754 规定一个
  • 如何查看崩溃日志

    目录 描述 思路 查看ipa包崩溃日志 简单查看手机崩溃信息几种方式 方式1 手机设置查看崩溃日志 方式2 Xocde工具 方式3 第三方软件克魔助手 环境配置 实时日志 奔溃日志分析 方式四 控制台资源库 线上崩溃日志 线上监听crash

随机推荐

  • windows下运行pointnet(全)

    放假闲着在家没事 本人突然想跑一下3d深度学习的开山之作 pointnet玩一玩 可是目前网上大部分pointnet的运行教程都是在Ubuntu系统下的 其实本人也曾装过双系统 但是因为我太菜了 在Ubuntu下装完显卡驱动和cuda后切换
  • Linux配置连接wifi功能步骤总结

    1 配置wpa supplicant conf文件 基本内容如下 ctrl interface var run wpa supplicant ctrl interface group 0 update config 1 network ss
  • Visual Studio中输入英文会在字母之间自动增加空格

    现象 不小心按了什么键之后字母之间增加了空格 如下面 在这里插入图片描述 https img blog csdnimg cn b211b973b9c8470fae4402161ddb3935 png 解决办法 针对上面图片中显示的这种英文字
  • 初学Three.js : 场景搭建

    关于Three js 场景搭建的知识 可结合这两篇文章学习 https juejin im post 5ab07d186fb9a028b92cf79d 官方文档 说明 第一篇中给出的three js 我在使用时出现错误 遂引用了官方文档给出
  • win+R键常见命令

    快速启动快捷键 Win R 这个快捷键是 Windows 的一个原生的功能 从 XP 到 Windows 10 都自带了 在使用这个快捷键后 可以打开系统搜索 是一种比较快捷的指令输入方式 系统会弹出一个小窗口让你输入命令 回车后会立即执行
  • 开源音乐播放器!

    导读 音乐是生活的一部分 维基百科关于音乐发展历史的文章有这样一段不错的描述说 全世界所有的人们 包括哪怕是最孤立 与世隔绝的部落 都会有自己的特色音乐 好吧 我们开源人就构成了一个部落 我建议我们的 音乐形式 应该包括开源音乐播放器 在过
  • Spring下集成 3.X 的mongo

    之前的项目中 打算用springmvc 搞个web来方便访问 数据库 当然是用mongo 遇到的问题是 spring下自带的 只支持2 X的 mongo driver 这点 从 只能 get出 DB DBCollection 就可以看出了
  • go使用json

    JavaScript对象表示法 JSON 是一种用于发送和接收结构化信息的标准协议 在类似的协议中 JSON并不是唯一的一个标准协议 XML 7 14 ASN 1和Google的Protocol Buffers都是类似的协议 并且有各自的特
  • 抖音服务器带宽有多大,才能供上亿人同时刷?

    最近看到一个有意思的提问 抖音服务器带宽有多大 为什么能够供那么多人同时刷 今天来给大家科普一下 首先 我们需要了解什么是服务器带宽 服务器带宽指的是数据中心或服务器中心连接到Internet的传输速率 通常用Mbps或Gbps衡量 这决定
  • vue[vue-quill-editor常规使用及样式相关注意事项]

    vue quill editor是当前vue处理富文本相关的使用比较多的一款插件 然而在使用的过程中这款插件还是有不少需要注意的地方 基础使用 npm install vue quill editor save 编写组件 VueQuillE
  • 正则解析SQL表名和SQL类型

    该程序可以对SQL进行解析 对 hint注释 SQL类型 表名 SQL进行解析 import re def extract sql info sql query 正则表达式用于匹配操作类型和表名 i s select insert upda
  • 学习太极创客 — MQTT(六)ESP8266 发布 MQTT 消息

    视频链接 https www bilibili com video BV1Xy4y1z7Mm spm id from autoNext vd source b91967c499b23106586d7aa35af46413 资料链接 http
  • 过来看~/(≧▽≦)/~啦啦啦!!各种书本课后答案!——第二部分:【化学物理】

    各位 注意了 这里的资料非常齐全 希望大家看了之后支持我 谢谢 啦啦啦 http www 3che com fromuid 21434 第二部分 化学物理 http www 3che com forum 26 1 html http www
  • 【数据结构】【项目】BitMap?40亿电话号码如何快速去重?

    目录 前言 实现 完整代码 参考资料 前言 40亿电话号码如何快速去重 我们往往会想到bitmap 数据结构中的 Bitmap 是一种位图索引非常高效的数据结构 用于存储处理大规模数据的位信息 其中每个位对应于一个元素 如果位为1 则表示该
  • 如何写一个高效的JSON解析器

    市面上90 的解析器 都是逐个字符解析 然后判断是什么内容 解析成什么类型 这种方式无疑会有一种问题 就是解析器会把你不需要的JSON数据 同样处理一遍 为此 笔者发现了另外一种思路 例如下面一段JSON d type MdoCommonW
  • Linux 统计目录下文件数量的方法

    Linux 统计目录下文件数量的方法 1 统计当前目录下文件的个数 不包括目录 ls l grep wc l 2 统计当前目录下文件的个数 包括子目录 ls lR grep wc l 3 查看某目录下文件夹 目录 的个数 包括子目录 ls
  • 【git】解决遇到的问题

    目录 一 error RPC failed curl 6 OpenSSL SSL read Connection was reset errno 10054 二 error RPC failed curl 6 OpenSSL SSL rea
  • 离散傅里叶变换DFT与FFT,MATLAB的FFT函数使用(原创)——如何使用fft()绘制出真正的频谱图像

    以前一直对MATLAB中fft 函数的使用一直存在疑惑 为什么要加一 些参数 并且如何确定这些参数 也查了许多资料 但很多都感觉只是 表面一说根本没有讲清其本质 但随着学习的推进 慢慢有所领悟 所 以打算把自己的一些所懂分享下 有什么问题也
  • hadoop的hdfs的一些操作

    先说一下 hadoop fs 和hadoop dfs的区别 看两本Hadoop书上各有用到 但效果一样 求证与网络发现下面一解释比较中肯 粗略的讲 fs是个比较抽象的层面 在分布式环境中 fs就是dfs 但在本地环境中 fs是local f
  • 小猴吃苹果-第12届蓝桥杯Scratch选拔赛真题精选

    导读 超平老师计划推出Scratch蓝桥杯真题解析100讲 这是超平老师解读Scratch蓝桥真题系列的第90讲 蓝桥杯选拔赛每一届都要举行4 5次 和省赛 国赛相比 题目要简单不少 再加上篇幅有限 因此我精挑细选了一部分题目进行解读 第1