吐丝的蜘蛛-第15届蓝桥第5次STEMA测评Scratch真题精选

news2024/11/26 14:25:58

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第176讲。

如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。

第15届蓝桥杯第5次STEMA测评已于2024年3月10日落下帷幕,编程题一共有6题(初级组只有前5道编程题),分别如下:

  • 熊猫左右转

  • 返回地球

  • 吐丝的蜘蛛

  • 最大的三位数

  • 记忆力考验游戏

  • 回文数

吐丝的蜘蛛,本题是2024年3月10日举行的第15届蓝桥STEMA测评Scratch编程初/中级组编程第3题,题目要求编程模拟蜘蛛吐丝效果。当在舞台上点击鼠标时,蜘蛛会吐出一条白色丝线,然后蜘蛛沿着白色丝线向鼠标点击位置缓慢移动,并吃掉沿途经过的白色丝线。

先来看看题目的要求吧。

一.题目说明

编程实现:

吐丝的蜘蛛。

具体要求:

1). 点击绿旗,角色、背景如图所示; 

图片

2). 鼠标点击舞台任意位置后,蜘蛛会朝向鼠标点击位置,如图所示;

图片

3). 然后,蜘蛛吐出一条白色丝线到鼠标点击位置,如图所示;

图片

4). 接下来,蜘蛛沿着白色丝线向鼠标点击位置缓慢移动,并吃掉沿途经过的白色丝线,如图所示;(参考视频)

图片

5). 蜘蛛移动过程中鼠标点击任意位置无效果,蜘蛛吃完白色丝线后停止移动;(参考视频)

6). 重执行具体要求2)、3)、4)、5)。

评判标准:

  • 2分:满足"具体要求"中的1);

  • 5分:满足"具体要求"中的2);

  • 10分:满足"具体要求"中的3);

  • 14分:满足"具体要求"中的4);

  • 14分:满足"具体要求"中的5);

  • 5分:满足"具体要求"中的6)。

二.思路分析

本题只有1个蜘蛛角色,如图所示:

图片

本题考查的知识点包括运动编程、Scratch画笔、广播和变量等。

根据题目的描述,我们可以将作品的功能分成两个部分:

1). 蜘蛛的运动

2). 模拟吐丝

在舞台任意位置点击鼠标时,蜘蛛就面向鼠标指针慢慢移动到鼠标点击位置。这是典型的直线运动,关于运动,通常有如下3种实现方式:

  • 重复执行“ + “移动10步” ;

  • 重复执行“ + ”将x/y坐标增加10“;

  • 在1秒内滑行到x/y(角色)“;

你知道它们3者之间的区别吗,使用哪一种更简单呢?

由于蜘蛛的终点(目标位置)是确定的,因此使用滑行是最合适的,只需1个指令就可以。

除此之外,滑行指令还有一个特点,它是独占模式,在执行滑行指令时,同一个代码块中的其它代码不会执行,这刚好满足要求5),即蜘蛛移动过程中鼠标点击任意位置无效果,可以说是两全其美。

本题的难点是吐丝效果,尤其是蜘蛛在移动过程中要吃掉白色丝线。

这里的白色丝线长度不固定,还会越变越短,想利用造型切换来实现显然是不合适的,而画笔则可以完美的达到效果。

要擦除直线的一部分,通常有如下两种方式:

  • 绘制一条和背景色相同的直线,将要擦除的部分覆盖掉;

  • 擦除整条直线,重新再绘制一条直线,不断重复这个过程;

对于本作品而言,第一种方式肯定行不通,因为背景色不是单一颜色,因此,我们只能选择第二种方式。

由于蜘蛛角色本身也在缓慢滑行,我们需要借助一个新角色来完成绘制工作。

绘制的时候,需要注意一点,蜘蛛在移动时,鼠标是允许移动的,但是蜘蛛的目标位置是固定的,因此需要使用变量保存好鼠标点击的位置。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们分3步来编写程序:

  • 准备工作

  • 蜘蛛的移动

  • 模拟吐丝

1. 准备工作

根据前面的思路分析,我们要添加一个角色,用来完成绘制工作,如图所示:

图片

对于画笔角色,你可以选择任何角色,需要注意的是,角色不能太大,以避免在绘制直线时碰到舞台边缘。

2. 蜘蛛的移动

对于蜘蛛而言,在点击绿旗时,要先设置好初始位置和方向。当点击鼠标后,就面向鼠标指针,移到鼠标指针位置,对应的代码如下:

图片

代码比较简单,说明两点:

1). 按下鼠标的判断,也可以使用”如果...那么“指令,相对来说,使用”等待条件“指令更简洁;

2). 滑行指令中的时间,是可以修改的,比如1.5、2.5、3,尽量保持和提供的参考视频一致。

3. 模拟吐丝

根据前面的思路分析,画直线的任务由pencil角色来完成。

首先,我们必须要确定3个问题:

  • 什么时候开始画?

  • 什么时候结束绘制?

  • 直线的起点和终点如何确定?

很显然,一旦点击鼠标就需要开始绘制,当蜘蛛到达鼠标点击位置时结束绘制,所以我们可以在蜘蛛角色中发送广播以告知pencil角色。

直线的起点其实就是蜘蛛的位置,每次都会变化,但是终点位置是鼠标点击的位置,是不能跟随鼠标位置进行变化的,需要使用变量保存起来。

在蜘蛛角色中,增加代码如下:

图片

一共增加了4行代码,说明两点:

1). 这里的变量”x“和”y“都是全局变量,需要单独创建;

2). ”画线“的广播,需要在设置变量x和y的后面,这样确保第一次绘制的时候终点位置是正确的。

接下来,就是实现pencil角色如何绘制直线了,可以分3步来描述。

第一步,设置画笔,包括颜色和粗细,在绿旗指令下编写代码如下:

图片

第二步,接收到”开始“广播后,不停的擦除并绘制直线,代码如下:

图片

这一步是最关键的,强调三点:

1). 由于要不停的擦除,然后重新绘制,所以需要使用重复执行;

2). 在重复执行中,一定要先使用”擦除全部“指令,然后重新绘制,这个顺序不能倒过来,否则就看不到直线;

3). 在绘制直线时,先移动起点,再落笔,到达终点后需要抬笔,这里的起点和终点也可以互换。

第三步,在接收到”结束“广播后,停止绘制,继续编写代码如下:

图片

这一步,非常简单,注意不是”停止全部脚本“,而是”停止该角色的其他脚本“。

不加的话,其实也不影响效果,但还是建议加上,将重复的动作停下来,也可以节省一点CPU和内存资源嘛。

至此,整个作品就创作好了,你可以在舞台任意位置点击鼠标,欣赏一下蜘蛛吐丝并吃掉丝线的效果啦。

四.总结与思考

本题是初/中级组编程部分第3题,分数为50分,积木块数量30个左右,涉及到的知识点主要包括:

  • 运动编程;

  • Scratch画笔;

  • 变量;

  • 事件广播机制;

本题难度中等,难点在于如何使用画笔来模拟吃掉丝线的效果。关键是理解”吃掉“的原理,其实就是不停的擦除,然后重新绘制。

实际上,这种不断伸长和收缩线段的编程技巧,在很多游戏中都有体现,比如小猫钓鱼作品中的钓鱼线,愤怒的小鸟作品中的弹弓、黄金矿工作品中的绳索等。

其中,矿工挖宝是第14届国赛的真题, 可以参考《矿工挖宝-第14届蓝桥杯国赛Scratch真题初中级组第4题》这篇教程。

超平老师给你留一道思考题,如果不增加新角色,要模拟吐丝效果,你有什么其它办法吗?

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要素材和源码的,可以移步至“超平的编程课”gzh。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1558767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL面试必备一之索引

本文首发于公众号:Hunter后端 原文链接:MySQL面试必备一之索引 在面试过程中,会有一些关于 MySQL 索引相关的问题,以下总结了一些: MySQL 的数据存储使用的是什么索引结构B 树的结构是什么样子什么是复合索引、聚簇索…

嵌入式第一部分-第一集:ARM那些你得知道的事

ARM:Advanced RISC Machine,先进精简指令集机器 ARM公司只做设计,不生产。 国内IC生产厂商:华为海思、全志、瑞芯微、MTK(联发科) 扩展:ARM的商业模式了解。 使用三星S5PV210开发板进行视频的讲…

红黑树介绍及插入操作的实现

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生 🙈个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE 🐼本文由GOTXX原创,首发CSDN&…

CubeIDE 下如何将版本号和日期关联。

1. 使用__DATE__ 和__TIME__获取编译日期和时间。 2. 将__DATE__ 和__TIME__转换成UINT 3. 将转换后的数赋值给版本号。 4. 设置工程保证每次都会重新编译对应文件。 对应函数如下&#xff1a; uint8_t VER_MAIN; uint8_t VER_SUB; uint8_t VER_MIN; #include <stdlib.…

原子类 AtomicReference 详解

通过对 AtomicInteger、AtomicBoolean 和 AtomicLong 分析我们发现&#xff0c;这三个原子类只能对单个变量进行原子操作&#xff0c;那么我们如果要对多个变量进行原子操作&#xff0c;这三个类就无法实现了。那如果要进行多个变量进行原子操作呢&#xff1f;操作方式就是&…

node.js的错误处理

当我打开一个不存在的文件时&#xff0c;错误如下&#xff1a; 在读取文件里面写入console.log&#xff08;err&#xff09;&#xff0c;在控制台中可以看到我的错误代码类型&#xff1a;文件不存在的错误代码 ENOENT。见更多错误代码---打开node.js官方API文档Error 错误 | N…

AtCoder Beginner Contest 347 A - E

A - Divisible 大意 给定个数&#xff0c;对于其中能被整除的数&#xff0c;输出商。 思路 直接计算即可。 代码 #include<iostream> using namespace std; int main(){ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int n, k;cin >> n >> k;while…

IDEA 详细设置

详细设置 如何打开详细配置界面 1、显示工具栏 2、选择详细配置菜单或按钮 系统设置 默认启动项目配置 启动IDEA时&#xff0c;默认自动打开上次开发的项目&#xff1f;还是自己选择&#xff1f; 如果去掉Reopen projects on startup前面的对勾&#xff0c;每次启动IDEA就会…

OSCP靶场--Access

OSCP靶场–Access 考点( 文件上传[黑名单apache.htaccess绕过] Kerberoasting SeManageVolume滥用提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.216.187 -sV -sC -Pn --min-rate 2500 -p- Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-3…

【图轮】【 最小生成树】【 并集查找】1489. 找到最小生成树里的关键边和伪关键边

本文涉及知识点 图轮 最小生成树 并集查找 关键边 1489. 找到最小生成树里的关键边和伪关键边 给你一个 n 个点的带权无向连通图&#xff0c;节点编号为 0 到 n-1 &#xff0c;同时还有一个数组 edges &#xff0c;其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 to…

【Leetcode】2580. 统计将重叠区间合并成组的方案数

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个二维整数数组 ranges &#xff0c;其中 ranges[i] [starti, endi] 表示 starti 到 endi 之间&#xff08;包括二者&#xff09;的所有整数都包含在第 i 个区间中。 你需要…

loadbalancer 引入与使用

在消费中pom中引入 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency> 请求调用加 LoadBalanced 注解 进行服务调用 默认负载均衡是轮训模式 想要切换…

基于Java+SpringBoot+vue仓库管理系统设计与实现

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

转移指令的原理

文章目录 转移指令的原理1. 操作符offset2. jmp指令3. 依据位移进行转移的jmp指令4. 转移的目的地址在指令中的jmp指令5. 转移地址在寄存器中的jmp指令6. 转移地址在内存中的jmp指令7. jcxz指令8. loop指令9. 根据位移进行转移的意义10. 编译器对转移位移超界的检测 转移指令的…

六种典型的商业间谍软件实例分析

近年来&#xff0c;随着数字化经济的快速发展&#xff0c;这也推动了商业间谍软件数量的急剧增长。目前&#xff0c;商业间谍软件的主要类型包括以下六种。 商业间谍软件是一种软件应用程序/脚本&#xff0c;也被称为“跟踪软件”、“监视软件”&#xff0c;主要功能包括非法数…

Kerberos 认证 javax.security.auth.logon.LoginException:拒绝链接 (Connection refused)

kerberos 服务重启之后异常 项目中用到了hive 和hdfs &#xff0c;权限认证使用了Kerberos&#xff0c;因为机房异常&#xff0c;导致了Kerberos 服务重启&#xff0c;结果发现本来运行正常的应用服务hive 和hdfs 认证失败&#xff0c;报错信息是 典型的网络连接异常 排查思路…

【C语言终章】预处理详解(下)

【C语言终章】预处理详解&#xff08;下&#xff09; 当你看到了这里时&#xff0c;首先要恭喜你&#xff01;因为这里就是C语言的最后一站了&#xff0c;你的编程大能旅途也将从此站开始&#xff0c;为坚持不懈的你鼓个掌吧&#xff01; &#x1f955;个人主页&#xff1a;开敲…

2023年蓝桥杯省赛——蜗牛

目录 题目链接&#xff1a;1.蜗牛 - 蓝桥云课 (lanqiao.cn) 思路 暴力贪心 代码实不了现 动态规划 代码实现 难点解释 总结 题目链接&#xff1a;1.蜗牛 - 蓝桥云课 (lanqiao.cn) 思路 暴力贪心 蓝桥杯反正是能暴力出来一个用例是一个&#xff0c;我真的被折磨了好久&…

10.python的字典dict(上)

10.python的字典dict(上) 什么是字典 在计算机科学中&#xff0c;字典是一种数据结构&#xff0c;用于存储键值对&#xff08;key-value pair&#xff09;的集合。每个键值对都由一个唯一的键和一个对应的值组成。字典能够快速地根据键找到对应的值&#xff0c;因此在很多编程…

探索----------------阿里云

目录 一、阿里云四大件 1、云服务器ECS 2、云数据库RDS 3、负载均衡SLB 4、对象存储OSS 5、其他的云计算产品 1&#xff09;内容分发网络CDN 2&#xff09;专有网络 VPC 二、linux发行版本 三、你平时对系统会怎么优化&#xff08;五大负载&#xff09; 1、cpu 使用率…