飞驰的高铁-第15届蓝桥杯第一次STEMA测评Scratch真题精选

2023-11-02

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

飞驰的高铁,本题是2023年8月20日举行的第15届蓝桥杯STEMA测评Scratch编程中级组编程第2题,题目要求编程实现模拟高铁飞驰前进的效果。当按下数字1时,画面中的景色持续向左侧水平移动,再按下数字2,停止程序。

先来看看题目的要求吧。

一.题目说明

编程实现:

飞驰的高铁。

具体要求:

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

图片

2). 按下一次数字1按键之后,画面中的景色持续向左侧水平移动(参照程序演示视频);

3). 按下一次数字2按键之后,程序结束。

图片

评判标准:

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

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

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

二.思路分析

本题包含两个角色,分别是高铁和景色,如图所示:

图片

其中,景色角色的造型如下:

图片

本题考查的知识点是运动编程,具体来说是无限滚动效果。

什么是无限滚动呢,在Scratch中通常是指一个角色沿着某个方向移动,永不停止。其关键在于,该角色在运动方向上始终占满舞台,角色的长度好像是无限长一样。

如果你仔细观察作品效果的话,会发现高铁角色自始至终都是不动的,真正移动的是景色。景色从右至左无限滚动,看起来就好像是高铁一直向右运动,这就是物理学中的相对运动。

针对无限滚动,我们通常可以使用如下两种解决方案:

  • 复制方案

  • 克隆方案

为了方便描述,以本题的效果为例,分别介绍两种方案的实现思路。

复制方案的思路是:先确保一个景色角色(角色1)重复向左移动,当移动到舞台的最左边时,立刻回到舞台的最右边。然后再复制一个景色角色(角色2),只需要调整其初始位置,使其紧紧跟随在角色1的后面即可。

克隆方案的思路则是:景色的本体向左移动,当本体的最右侧即将露白(右侧即将离开舞台右边缘)时,立刻克隆一个景色,让其跟随在本体的后面向左移动。克隆体的最右侧即将露白时,再次克隆一个景色。同时需要注意,当本体到达舞台左边缘后需要隐藏起来,克隆体达到舞台左边缘后则需要删除,然后不停地重复此过程即可。

接下来,我们进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们分别使用两种方案来编写程序:

  • 复制方案

  • 克隆方案

1. 复制方案

我们可以分角色来编写代码。

1). 高铁角色

首先来编写高铁角色的程序,高铁角色需要设置好坐标和层次关系,这一步非常简单,代码如下:

图片

其次,运动是在按下数字1后才开始,按下数字2则结束程序。需要注意的是,这里的按键只需要按下1次,不需要反复按下,针对这种情况, 最好的方法是使用“等待条件”指令。

为了方便控制,可以将这部分代码写在高铁角色中,增加代码如下:

图片

代码比较简单,当按下数字1键后,发送了一个“开始”的广播消息,在按下数字2键后,直接停止全部脚本。

连续使用两个“等待条件“的好处还在于,可以精确控制按键的顺序,必须是先按1键让景色动起来,然后才能按2键停止运动。

2). 景色角色

绿旗点击时,景色是静止的,需要设置好其位置,注意要确保覆盖整个舞台,代码如下:

图片

当接收到“开始”广播后,重复执行向左移动,当移动到最左边时,立刻又回到舞台的最右边,代码如下:

图片

需要注意,不同的角色大小,到达舞台左边时的左边也不相同,角色越大,到达舞台最左边时的x坐标就越小,那怎么确定这个最小坐标呢?

超平老师告诉你一个小技巧,将上面代码中的如果部分先不写,执行代码,当角色停下来时的那个坐标就是最小坐标了,简单吧。

3). 复制角色

接下来,只需要再复制一个景色角色即可,如图:

图片

然后修改角色的起始x坐标即可,代码如下:

图片

温馨提示:很多同学喜欢一上来就复制景色,然后再分别写代码,这是可以的,但很显然效率不高,而且容易出错。最好的方式是先写好一个角色,然后再复制角色,此时,只需要修改一个地方即可,又快又好。


2. 克隆方案

对于克隆方案,高铁角色和复制方案的代码基本一样,可以先不动。重点在于景色景色,需要分两步来编写。

1). 景色本体

绿旗点击时,我们设置好景色本体的位置如下:

图片

注意,这里的x值为118,刚好是角色左边盖住舞台左边缘的位置,由于后续需要隐藏本体,所以必须使用”显示“指令,将其显示出来。

当按下数字1键,也就是接收到”开始“的广播消息后,本体开始向左移动,直到最左边隐藏起来。同时需要判断,当本体右侧即将露白时,需要克隆一个景色,代码如下:

图片

代码中的难点在于克隆的时机判断,这里使用的是”x坐标 = -122“,这里有两个关键点:

①. 由于只能克隆一个,所以不能使用 "<" 指令,否则就会克隆大量的景色;

②. 这里的-122和x坐标增加的值有关系,必须确保x坐标的值在变化过程中,能等于-122,所以不同的移动速度,其值也相应的有所不同,你需要自己计算并测试。

2). 景色克隆体

一旦生成了克隆体,就需要让克隆体从舞台的最右方开始向左移动,左移的逻辑和本体基本一致,代码如下:

图片

由于使用的是克隆体,一旦停止全部脚本,克隆体就会删除,会出现露白的效果,如下:

图片

所以,这里需要改变结束程序的方式,不能直接使用暴力的”停止全部脚本“了,而是改为广播消息,将高铁角色的角色修改如下:

图片

相应的,在景色角色中,添加代码如下:

图片

如此一来,既可以确保结束程序,又不会出现露白的尴尬场景,岂不妙哉。实际上,在平时的Scratch创作中,经常会出现这种情形,我们要学会使用广播结合”停止该角色的其他脚本“指令来实现,而不是直接使用”全部结束“指令暴力解决。

这样就可以实现无限滚动的效果了,你可以简单的理解为,一张景色图片从右向左移动直到舞台最左边缘(不是碰到舞台边缘,而是最右侧到达舞台最左边缘)消失,然后又出来一张景色图片重复这个过程,有点前赴后继的味道。

至此,整个作品就创作好了,赶紧乘坐我们的高铁,体验一下飞驰的感觉,欣赏一路的风景吧。

四.总结与思考

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

  • 运动编程,重点是坐标的灵活运用;

  • 循环编程,包括无限循环和条件循环;

  • 按键的判断和灵活处理;

  • 事件广播机制;

  • 克隆编程;

  • 停止脚本的不同方式及其区别;

这是中级组的第2题,题目难度中等,完成时间在15分钟左右,难点在于如何实现景色的无限滚动。

无限滚动是Scratch编程中常用的编程技巧,很多经典游戏中都运用了无限滚动,比如飞扬的小鸟、飞机大战和极速赛车等。

留给你一个小小的思考题,本作品中提到的两种方案,哪一种效果更好,为什么呢?

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

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

飞驰的高铁-第15届蓝桥杯第一次STEMA测评Scratch真题精选 的相关文章

  • 第六题 整除排序

    题目描述 有一个序列 序列的第一个数是n 后面的每个数是前一个数整除2 请输出这个序列中的值为正数 的项 输入格式 输入一行包括一个整数n 输出格式 输出一行 包括多个整数 相邻的整数之间用一个空格分开 表示答案 测评用例规模和标准 对于8
  • 蛇形方阵

    题目描述 给出一个不大于 9 的正整数 n 输出 n n 的蛇形方阵 从左上角填上 1 开始 顺时针方向依次填入数字 如同样例所示 注意每个数字有都会占用 3 个字符 前面使用空格补齐 输入 4 输出 1 2 3 4 12 13 14 5
  • Acwing2554. 排列数

    在一个排列中 一个折点是指排列中的一个元素 它同时小于两边的元素 或者同时大于两边的元素 对于一个 1 n 的排列 如果可以将这个排列中包含 t 个折点 则它称为一个 t 1 单调序列 例如 排列 1 4 2 3 是一个 3 单调序列 其中
  • 蓝桥杯:基础练习 特殊回文数(java实现)

    问题描述 123321是一个非常特殊的数 它从左边读和从右边读是一样的 输入一个正整数n 编程求所有这样的五位和六位十进制数 满足各位数字之和等于n 输入格式 输入一行 包含一个正整数n 输出格式 按从小到大的顺序输出满足条件的整数 每个整
  • 第十一届蓝桥杯 ——互质(gcd求最大公约数)

    gcd最大公约数 Rudy的博客 CSDN博客 gcdhttps blog csdn net xiaoyue article details 83239172 ops request misc 257B 2522request 255Fid
  • 备战2023蓝桥国赛-传纸条

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

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

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

    题目描述 解析 这道题我想了很多种解决方法 但无一例外都失败了 实在是按照常规线性DP的思路真的想不出来 看了题解之后才知道它是分为三步解决这个问题的 第一步 缩小最优解的范围 先用贪心将最优解缩小到某个较小的范围内 再DP求出精确的最优解
  • 蓝桥杯单片机14届省赛解析(个人)

    下面记录一下自己这届省赛比赛时的思路 不太会写作文 比较口语化 而且一些看法仅仅是我个人观点 赛后我还没有看过任何讲解或例程 可能会有很多理解不对的地方希望大家能够指出一起交流 一 硬件框图 往届省赛基本上都是考两个外设 这次一看硬件框图就
  • 蓝桥杯.卡片(模拟)

    Question Result 3181 Solve 直接模拟暴力 初始化卡片数量为2021 去模拟拼数的过程 注意点的话 我是先去判断卡片还有没有 再去减一 所以输出结果也有一个减一 因为一旦说卡片没有了 就意味着当前这个数字拼不成了 C
  • 蓝桥杯单片机第14届省赛客观题目+程序题目+程序题参考答案

    目录 客观题题目 程序题题目 程序题参考答案 main h main c Init h Init c SMG h SMG c DSQ h DSQ c YanShi h YanShi c JZKey h JZKey c ds1302 h ds
  • 问题 D: 稀疏矩阵类型判断

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

    蓝桥杯2022年第十三届省赛真题 X进制减法 C语言网 dotcpp com 题目描述 进制规定了数字在数位上逢几进一 X 进制是一种很神奇的进制 因为其每一数位的进制并不固定 例如说某种 X 进制数 最低数位为二进制 第二数位为十进制 第
  • 剑指Offer 12—矩阵中的路径

    题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 如果 word 存在于网格中 返回 true 否则 返回 false 单词必须按照字母顺序 通过相邻的单元格内的字母构成 其中 相邻 单元格是那些水平相邻
  • 蓝桥杯真题:迷宫

    目录 题目描述 运行限制 dfs bfs 结果 题目描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 下图给出了一个迷宫的平面图 其中标记为 11 的为障碍 标记为 00 的为可以通行的地方 010000 000
  • 蓝桥杯-稍大的字符串

    题目 标题 稍大的串 串可以按照字典序进行比较 例如 abcd 小于 abdc 如果给定一个串 打乱组成它的字母 重新排列 可以得到许多不同的串 在这些不同的串中 有一个串刚好给定的串稍微大一些 科学地说 它是大于已知串的所有串中最小的串
  • Open Camera异常分析(一)

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

    文章目录 A 日期统计 B 01 串的熵 C 冶炼金属 D 飞机降落 E 接龙数列 F 岛屿个数 G 子串简写 H 整数删除 I 景区导游 J 砍树 今年比去年难好多 Update 2023 4 10 反转了 炼金二分没写错 可以AC了 U
  • 多少个X 蓝桥杯模拟

    问题描述 给定一个字母矩阵 一个 X 图形由中心点和由中心点向四个45度斜线方向引出的直线段组成 四条 线段的长度相同 而且四条线段上的字母和中心点的字母相同 一个 X图形可以使用三个整数 r c L 来描述 其中 r c 表示中心点位于第

随机推荐

  • iphone或安卓配置Charles抓包

    4个步骤完成iPhone配置Charles抓包步骤 Charles官网下载地址 Download a Free Trial of Charles Charles Web Debugging Proxy 1 连接到wifi 并设置代理地址 可
  • React传递参数的多种方式

    最常见的就是父子组件之间传递参数 父组件往子组件传值 直接用this props就可以实现 在父组件中 给需要传递数据的子组件添加一个自定义属性 在子组件中通过this props就可以获取到父组件传递过去的数据 父组件 render re
  • K-means算法的参数详解

    参数名称 默认值及输入类型 参数解释 algorithm 默认 Auto 有auto full和elkan三种选择 algorithm 优化算法的选择 有auto full和elkan三种选择 full就是一般意义上的K Means算法 e
  • java.security.InvalidKeyException: Illegal key size错误

    新使用了AES的256位密钥加解密 项目上线后发现生产在加密的时候报java security InvalidKeyException Illegal key size错误 而本地和测试环境都是没问题的 产生错误原因 为了数据代码在传输过程
  • 求生之路显示服务器指令大全手机,求生之路2指令大全 求生之路2指令怎么用? (7) _地图指令_游侠网...

    地图指令 c1m1 hotel 1 死亡中心1旅馆 c1m2 streets 1 死亡中心2街道 c1m3 mall 1 死亡中心3购物中心 c1m4 atrium 1 死亡中心4中厅 c2m1 highway 1 黑色狂欢节1高速公路 c
  • 正则校验-我需要的正则表达式知识

    正则校验 我需要的正则表达式知识 正则表达式由正则表达式引擎提供支持 不同编程环境有不同的正则表达式引擎 在实际使用正则表达式的过程中会有一些差别 什么是正则表达式 正则表达式是用于描述匹配复杂字符串规则的工具 一个正则表达式对应着一个文本
  • python glob通配符方式单/多层搜索文件/文件夹

    import os import glob 可以利用通配符进行文件的搜索获取 goal dir r D demo 遍历指定文件夹下所有文件或文件夹 for file in glob glob goal dir print file 遍历指定
  • 两种方式判断移动运营商(移动,联通,电信)[原创]

    author Stay 判断移动运营商 public class NetworkOperater extends Activity private static final String TAG MainActivity Called wh
  • 1.安全传输加密算法

    一 何为安全传输 安全传输就是 即使人家从网络监听到我们发送的数据包 也无法破译我们的信息 或者破译的机会十分渺茫 那么这是如何实现的呢 毕竟 我们想要传输加密信息 接收者解密的话则需要密钥 而密钥也是需要通过网络传输的啊 1 非对称加密
  • 国产嵌入式操作系统发展思考

    国产嵌入式操作系统发展思考 偶然翻到了这篇老文章 出自何小庆 嵌入式操作系统风云录 历史演进与物联网未来 作者 写的很好 汇总了当下国产 OS 的状态 遂分享出来 本文源自微博 麦克泰技术 物联网学前班公众号经授权转载分享 嵌入式操作系统历
  • Linux 添加Match User 重启sshd出现job for ssh.service failed

    最近在做一个sftp的需求 需要添加一个sftp用户来传输文件到linux的指定路径 通过网络学习 需要新增一个ftp账户 需要在 etc ssh sshd config中新增几条命令 Subsystem sftp internal sft
  • 信息网络向价值网络演进过程中产品形态的思考

    随着Facebook品牌更名Meta 持续火爆了一年多的元宇宙概念迎来了互联网巨头的正名 全球互联网生态产品将迎来怎样的新一轮大跃进 本文整理自Contentbox VP Castbox亚洲地区负责人杨霄在量江湖 拍乐云主办的 社交产品如何
  • java 加解密实例(对称——非对称)

    加密算法有很多种 这里只大约列举几例 1 消息摘要 数字指纹 既对一个任意长度的一个数据块进行计算 产生一个唯一指纹 MD5 SHA1 发送给其他人你的信息和摘要 其他人用相同的加密方法得到摘要 最后进行比较摘要是否相同 2 单匙密码体制
  • git本地仓库基本操作--查看提交历史和版本回退前进

    1
  • 版本问题导致 导入vue报错:Uncaught TypeError: Vue is not a constructor

    版本问题导致 导入vue报错 Uncaught TypeError Vue is not a constructor 浏览器控制台错误信息 问题代码 某博客带来的启发 解决方案 附录 vue2生产环境部分代码 vue3生产环境部分代码 浏览
  • window7 配置telnet 服务

    第一步 点击开始 选择控制面板 第二步 选择 程序 选择打开或关闭windows 功能 在选择对话框中勾选Telnet客户端和Telnet服务端 第三步 点击 计算机 管理 属性 修改Telnet服务的启动方式 第四步 判断Telnet服务
  • [LeetCode] Reverse Linked List I II - 链表翻转问题

    题目概述 Reverse a singly linked list 翻转一个单链表 如 1 gt 2 输出 2 gt 1 1 gt 2 gt 3 输出3 gt 2 gt 1 题目解析 本人真的比较笨啊 首先想到的方法就是通过判断链尾是否存在
  • MySQL中的正斜杠和反斜杠

    目录 问题背景 问题提出 1 为什么书上的这种方法得不到正确的数据呢 2 是因为DBMS的问题嘛 3 如何在MySQL上得到正确的数据呢 问题总结 问题背景 今天数据库老师留了一道实验题 如下 14 查询 A C 课程的课程号和学分 如果没
  • 初识C++Primer plus

    写在前面 从事c 编程转眼也快一年了 一直从事工厂数据采集工作 然而就与硬件交互效率来说 无疑c c 与硬件更加契合 就很任性的买了一本c Primer plus 第六版 希望自己在博客里能坚持下去 将自己所悟所感写在这里与大家分享 分割线
  • 飞驰的高铁-第15届蓝桥杯第一次STEMA测评Scratch真题精选

    导读 超平老师的 Scratch蓝桥杯真题解析100讲 已经全部完成 后续会不定期解读蓝桥杯真题 这是Scratch蓝桥杯真题解析第150讲 飞驰的高铁 本题是2023年8月20日举行的第15届蓝桥杯STEMA测评Scratch编程中级组编