当前位置: 首页 > news >正文

星际巡航-第16届蓝桥第6次STEMA测评Scratch真题第4题

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

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

  • 飞翔的小燕子

  • 立夏

  • 听话的小猫

  • 星际巡航

  • 消失的气球

星际巡航,本题是2025年4月13日举行的蓝桥STEMA测评Scratch编程初/中级组编程第4题。题目要求编程创作星际巡航作品,运行程序,飞碟从左下角移动到红色星球,同时绘制出白线,1秒后飞到黄色星球,并绘制出黄线;然后沿原路返回,同时擦除相应的黄线和白线。

先来看看题目的要求吧。

一.题目说明

编程实现:

星际巡航。

具体要求:

1). 点击绿旗,飞碟的出发点在舞台的左下角,如图所示;

图片

2). 1秒后,飞碟移动到红色的星球上(能看到移动过程),并在移动的过程中绘制出白线,如图所示;

图片

3). 1 秒后,飞碟移动到黄色的星球上(能看到移动过程),并在移动的过程中绘制出黄线,如图所示;

图片

4). 1 秒后,飞碟沿黄色白线返回红色星球,返回的过程中逐渐擦除黄线;

图片

5). 1 秒后,飞碟从红色星球沿白色线返回出发点,返回的过程中逐渐擦除白线;

图片

6). 飞碟回到出发点后,显示逐渐变大的“巡航结束”(能看到变大的过程)。

图片

二.思路分析

本题包含4个角色,分别是飞碟、红色星球、黄色星球和结束,如图所示:

图片

本题考查的知识点包括运动编程、Scratch画笔和事件广播机制。

根据题目的描述,我们可以将飞碟的巡航过程分为两个阶段:

1). 前进阶段

2). 返航阶段

前进阶段比较简单,先从左下角移到红色星球,然后再移到黄色星球。对于这种终点确定的运动,使用滑行指令是最佳选择。

在滑行之前,设置好画笔的粗细和颜色并落笔,就可以按照题目要求绘制出白线和黄线了。

返航阶段是本题的难点,怎么才能依次擦除黄线和白线呢?

在Scratch编程中,擦除图形的一部分(注意不是全部擦除)通常有如下两种方案:

  • 绘制和背景颜色一致的新图形,将原图形覆盖掉;

  • 先擦除所有图形,再重新绘制新的图形;

对于方案1,只有当舞台背景是纯色时才能获得最佳效果,本作品中的舞台背景并不是纯色,所以不能使用这种方式。

因此我们选择第2种方案,即先擦除所有图形,再重新绘制新的图形,而且这个过程是循环进行的。

由于飞碟本身在移动,不适合充当画笔角色,所以我们需要添加新的角色作为画笔,并且最好是两支画笔,一支用于擦除黄线,一支用于擦除白线。

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

    三.编程实现

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

    • 飞碟前进

    • 擦除黄线

    • 擦除白线

    • 结束效果

    1. 飞碟前进

    切换到飞碟角色,在绿旗指令下编写代码如下:

    图片

    代码不算少,说明5点:

    1). 飞碟的初始化设置包括坐标和移到最前面,设置角色的层次关系是确保飞碟和星球重合时位于上面,和题目效果图一致;

    2). 7~9这3行代码用于绘制白线,11~12这两行代码用于绘制黄线;

    3). 落笔和抬笔只需要各使用一次,在绘制白线之前落笔,黄线画完后抬笔;

    4). 题目对飞碟移动的速度没有要求,所以滑行的时间可以自由设定,尽量不要太快也不要太慢;

    5). 等待1秒指令不要漏了。

    对应的,红色星球要设置位置,切换到红色星球角色,编写代码如下:

    图片

    同理,切换到黄色星球,编写代码如下:

    图片

    2. 擦除黄线

    飞碟返航又分为两步,第1步是从黄色星球返回到红色星球,也就是擦除黄线阶段,第2步是从红色星球返回到左下角起点位置,即擦除白线阶段。

    在第1步中,需要循环绘制黄线和白线,在第2步中,则只需要循环绘制白线即可。

    先添加两个画笔角色,如图所示:

    图片

    其中画笔1用于擦除黄线阶段,画笔2用于擦除白线阶段。

    在飞碟角色中的绿旗代码块中(前面已经有13行了,此处从第14行开始)继续编写代码如下:

    图片

    代码不多,强调4点:

    1). 第16行代码的作用是让飞碟返回到红色星球,在滑行之前发送“擦除黄线”的广播消息;

    2).  第19行代码的作用是让飞碟从红色星球返回到左下角起点位置,在滑行之前发送“擦除白线”的广播消息;

    3). 飞碟返回到左下角的起点后,发送“结束”的广播消息;

    4). “等待1秒”指令不要漏了。

    擦除黄线时,黄线和白线都需要重新绘制,先切换到画笔1角色,编写代码如下:

    图片

    再切换到画笔2角色,编写代码如下:

    图片

    代码不少,说明两点:

    1). 画笔1负责绘制白线,画笔2负责绘制黄线,都需要重复执行;

    2). “擦除全部”指令只能使用一次,并且尽量要放到画笔1角色中,不然就有可能达不到效果。

    3. 擦除白线

    当飞碟从红色星球返回起点时,要不断的擦除白线,在飞碟角色滑行之前已经发送了”擦除白线“的广播消息。

    切换到画笔1角色,编写新的代码块,如下所示:

    图片

    代码不多,强调一个细节,之前绘制白线的代码仍然在执行,因此我们在接收到广播消息后,先停止其他的代码块。

    同理,黄线的绘制也要停下来,切换到画笔2角色中,编写代码如下:

    图片

    虽然这两处的停止指令不加也不影响效果,但建议尽量加上,这是一个好的编程习惯。

    4. 结束效果

    切换到结束角色,编写代码如下:

    图片

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

    1). 初始化设置不可少,包括位置、大小和隐藏;

    2). 要设置好层次关系,确保结束效果出现在最上层;

    3). 大小增加的速度,可以自行调整,不要太快也不要太慢;

    4). 最后的”停止全部“脚本指令不要漏了,否则画笔角色还会继续执行代码呢。

    至此,整个作品就创作好了。

    四.总结与思考

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

    • 运动编程;

    • Scratch画笔;

    • 事件广播机制;

    • 停止脚本的使用;

    这是本次stema测评的第4题,是初级组的最后一题,难度较大,完成时间大概30分钟左右。

    完成本作品有如下4个关键点:

    1). 将飞碟的运动分为前进和返航两个阶段,并使用滑行指令来实现飞碟的移动,前进过程中直接使用飞碟角色来绘制白线和黄线;

    2). 返航过程中,借助两个画笔角色来绘制黄线和白线,通过不断的擦除全部和重新绘制,模拟出逐渐擦除的效果;

    3). 使用广播机制来实现角色之间的通信,从而控制各个角色执行代码的顺序;

    4). 要合理的停止脚本的执行,什么时候要停止代码的执行,要停止哪些脚本,还是有讲究的,尽量养成好的编程习惯。

    这一次的画笔题目和前5次stema测评有所不同,之前都是围绕着旋转和运动来进行的,相信大家都已经熟悉和掌握了。

    虽然题型有所不同,但是其核心知识和原理基本上差不多,万变不离其宗。对于本题而言,涉及的核心知识就是运动编程和先擦再画模型。

    所以说,我们一定要抓住核心知识点,掌握各种常见的模型,以不变应万变,从容应对各种场景和需求。

    超平老师给你留两道思考题:

    1). 在本作品中,为什么没有使用自制积木及其不刷新特性呢?

    2). 本题还有一种巧妙的思路,就是使用列表来实现,你知道嗯么做吗?

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

    http://www.xdnf.cn/news/731125.html

    相关文章:

  • RedisTemplate查询不到redis中的数据问题(序列化)
  • 【数据库】并发控制
  • 什么是AI Agent?大白话新手教学
  • JAVA单商户易联云小票打印替换模板
  • ISOLAR软件生成报错处理(七)
  • css实现文字渐变
  • 【git stash切换】
  • 云原生DMZ架构实战:基于AWS CloudFormation的安全隔离区设计
  • 在React框架中使用Braft Editor集成Table表格的详细教程
  • 中联教育 - 嵌入式BI助力财经数据分析服务
  • HarmonyOS-ArkUI固定样式弹窗(1)
  • 由sigmod权重曲线存在锯齿的探索
  • 【UE5 C++】绘制地表贴合线
  • 【C++】虚函数是什么?为什么需要它?
  • superior哥深度学习系列(大纲)
  • NodeMediaEdge通道管理
  • 动态规划-300.最长递增子序列-力扣(LeetCode)
  • 酒店管理系统设计与实现
  • 《TCP/IP 详解 卷1:协议》第3章:链路层
  • 第十二篇:MySQL 分布式架构演进与云原生数据库探索
  • 光电学、计算机科学及算法国际会议(OCSA 2025)征稿启事​
  • 深度学习复习笔记
  • leetcode:7. 整数反转(python3解法,数学相关算法题)
  • 【笔记】Suna 部署之 Supabase 数据库 schema 暴露操作
  • day14 leetcode-hot100-26(链表5)
  • QT- QML Layout+anchors 布局+锚点实现窗口部件自适应比例
  • 阻塞队列的学习以及模拟实现一个阻塞队列
  • C++题解(34) 2025年顺德区中小学生程序设计展示活动(初中组C++)U560289 字符串排序(一)和 U560136 字符串排(二)题解
  • JVM——回顾:JVM的起源、特性与系统构成
  • 交错推理强化学习方法提升医疗大语言模型推理能力的深度分析