找不同游戏-第15届蓝桥第二次STEMA测评Scratch真题精选

news2024/12/26 22:09:19

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

第15届蓝桥杯第2次STEMA测评已于2023年10月29日落下帷幕,编程题一共有6题,分别如下:

  • 旅游相册

  • 隐身的小鸟

  • 摩天轮

  • 找不同游戏

  • 字母不重复的子串

  • 卡片排列

找不同游戏,本题是2023年10月29日举行的第15届蓝桥STEMA测评Scratch编程初/中级组编程第4题,题目要求编程创作一个找不同游戏。

先来看看题目的要求吧。

一.题目说明

编程实现:

找不同游戏。

具体要求:

1). 运行程序,角色、背景如图所示,变量“倒计时”为5;

图片

2). 按下一次空格键后,白板上显示6行8列的随机文字矩阵(矩阵中随机一个位置的文字为 “大”,其余显示为“太”);

图片

3). 文字矩阵呈现后,“倒计时” 每隔1秒减小1;

4). 当用鼠标点击文字矩阵中的“大”时,显示 “闯关成功”,倒计时停止,程序结束;

图片

5). 当用鼠标点击文字矩阵中任意一个“太”时,显示“闯关失败”,倒计时停止,程序结束;

图片

6). 当“倒计时”为0时,显示“闯关失败”,倒计时停止,程序结束。

评判标准:

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

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

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

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

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

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

二.思路分析

先来看看题目提供的素材吧。

本题只有1个角色,就是文字角色,如图所示:

图片

文字角色有两个造型,分别是“太”字和“大”字,如下:

图片

背景则有3张图片,分别表示白板、闯关失败和闯关成功,如图:

图片

本题考查的知识点主要包括克隆、变量和事件编程。

根据题目的描述,我们可以将作品的功能拆分成如下3个模块:

  • 克隆文字矩阵

  • 倒计时

  • 点击文字

先从克隆开始,这是本题的关键,也是重难点。这是一个典型的m行n列的克隆场景,常见的做法就是使用两层循环。

超平老师总结了一个“克隆4兄弟”模型,专门实现m行n列的克隆编程。所谓4兄弟是指下面这4个指令:

图片

其中和x坐标相关的两个兄弟指令负责从左至右克隆一行,而y坐标相关的两个兄弟指令负责从上到下克隆多行。

基本模板如下:

图片

本题是6行8列的文字矩阵,将上面m改成6,n改成8,设置好起点的x和y,以及行和列的间隔,就可以了,超级好用。

这里的难点是如何确保其中有且仅有一个”大“字。默认情况下,所有的克隆体都是一样的,如何区分每个克隆体呢?

你可能已经想到了,需要使用私有变量,我们可以给克隆体增加一个编号(ID),然后从1开始编号,直到48为止。

有了编号,就可以随机选取一个编号,将其造型设置为”大“字。

倒计时的功能比较简单,使用变量结合循环和等待语句就可以了,需要注意的是在文字矩阵呈现后才开始倒计时。

点击文字的功能也不难,在角色被点击的时候,直接判断其造型就可以了,如果是”大“字,则切换成”闯关成功“背景,否则切换成”闯关失败“背景。

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

三.编程实现

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

  • 初始化工作

  • 克隆文字矩阵

  • 倒计时

  • 点击文字

1. 初始化工作

之所以把初始化工作单独拿出来,是要强调它的重要性,很多同学忽略了这一点,经常是在运行之后才想起来要做初始化设置。

其实,对于任何一个Scratch作品,初始化必不可少,也希望大家养成一个良好的编程习惯和规范。

针对本作品,需要初始化的包括背景、造型、隐藏状态和变量等,对应的代码如下:

图片

这里的两个变量都是全局变量,其中”随机数“变量表示要显示”大“字的克隆体的编号。

2. 克隆文字矩阵

当按下空格键时,开始克隆文字矩阵,很多同学不假思索的直接拖出”当按下空格键“指令,就开始编写代码了。

有什么问题吗?

当然有,每按一次空格键,就会重新克隆一次文字矩阵,而且不用点击绿旗,按空格键就开始克隆了,非常的不友好。

实际上,题目有说明,”按下一次空格键后,....“,只不过,有些同学将其直接忽略,有些同学可能没太理解这其中的意思。

所以,不能直接使用”当按下空格键“指令,而应该使用”等待条件“指令,结合”按下空格键“指令。

一旦按下空格键,就需要克隆了,根据前面的思路分析,继续编写代码如下:

图片

重点强调3个问题:

1). 这里的变量"_ID"是私有变量,为了和全局变量进行区分,这里增加了一个下划线,但更重要的是在创建变量的时候,一定要勾选“仅适用于当前角色”,如图:

2). _ID需要设置初始值,然后每克隆一次,就增加1,确保克隆体的编号是1~48,具体设置可以灵活处理,比如初始值为0,先加1,再克隆; 

3). 克隆完毕,再发送”倒计时“的广播消息,注意这个顺序,题目要求显示文字矩阵后才开始倒计时;

对应的,需要将克隆体显示出来,代码如下:

图片

由于默认的造型都是”太“字,所以只需要将编号等于随机数的克隆体的造型设置为”大“字就行。

3. 倒计时

当接收到”倒计时“广播消息后,就可以进行倒计时了,代码如下:

图片

代码比较简单,说明几个细节:

1). 要先使用”等待1秒“指令,这样才符合题目意思,顺序不同,意思不一样,效果也不同;

2). 在倒计时结束后,除了切换成”闯关失败“背景外,还需要使用”停止全部脚本“指令,这样所有的克隆体就会自动删除了。

3). 实际上,这部分代码是可以直接写在克隆文件矩阵后面的,之所以使用广播机制分成两段,是为了让代码结构更清晰,同时也方便讲解。[订正,此处有误,不能使用广播]

4. 点击角色

当点击文字时,只有两种情况,要么是”太“字,要么是”大“字,如果是前者,闯关时候,否则闯关成功。

它们是非此即彼的关系,直接使用双分支条件语句即可,具体代码如下:

图片

同样不要忘了加上”停止全部脚本“指令,确保所有的克隆都会消失。

至此,整个作品就创作好了,赶紧来体验一下,考考你的眼力吧。

四.思考与总结

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

  • 循环编程,尤其是嵌套循环;

  • 条件编程,包括双分支和单分支;

  • 造型和背景;

  • 克隆编程;

  • 变量,包括全局编号和私有变量;

  • 事件编程,尤其按键的两种实现方式;

本题难度中等,完成时间15分钟左右,难点是如何实现文字矩阵的克隆,尤其是要确保有且仅有一个”大“字出现在随机位置。

解决本题的关键有两点:

  • 克隆4兄弟模型的灵活运用

  • 私有变量

可以这么说,只要你熟练掌握了这两点,基本上90%的克隆题目你都可以快速搞定,所以一定要理解透彻,多加练习,争取做到像呼吸空气一样轻松自如。

超平老师给你留一个思考题,你能否对这个作品进行二次创作,让游戏玩法更加好玩,比如再增加一个“犬”字,如何?

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

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

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

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

相关文章

2023nacos源码解读第3集——nacos-client核心功能之微服务调用和配置管理测试

文章目录 1、测试项目2、项目注意事项3、 测试核心功能3.1 测试服务调用与负载均衡3.2 测试配置监听 4、参考文档 1、测试项目 项目地址 nacos-service-a nacos-service-b 2、项目注意事项 项目初始化可以使用aliyun spring initializer ,以更方便的使用springcloud alibaba…

Maven依赖管理项目构建工具的安装与配置

本篇来自尚硅谷的笔记,在线视频观看:Maven依赖管理项目构建工具,更多笔记欢迎访问:小熊学Java 一、Maven简介 1、为什么学习Maven 1.1、Maven是一个依赖管理工具 ①jar 包的规模 随着我们使用越来越多的框架,或者框…

[文件读取]Druid 任意文件读取 (CVE-2021-36749)

1.1漏洞描述 漏洞编号CVE-2021-36749漏洞类型文件读取漏洞等级⭐⭐⭐漏洞环境VULFOCUS攻击方式 描述: 由于用户指定 HTTP InputSource 没有做出限制,可以通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。攻击者可利用该漏洞在未授权情况下&…

63基于matlab的生物地理的优化器(BBO)被用作多层感知器(MLP)的训练器。

基于matlab的生物地理的优化器(BBO)被用作多层感知器(MLP)的训练器。粒子群优化(PSO)、蚁群优化(ACO)、遗传算法(GA)、进化策略(ES)和…

Flutter的Widget, Element, RenderObject的关系

在Flutter中,Widget,Element和RenderObject是三个核心的概念,它们共同构成了Flutter的渲染流程和组件树的基础。下面简要介绍它们之间的关系: 1.Widget Widget是Flutter应用中的基础构建块,是一个配置的描述&#xf…

问界「力压」比亚迪,到底什么是RAEB?

作者 | Amy 编辑 | 德新 本周,一辆AITO问界M5智驾版「骑」上比亚迪海豚的视频引发热议。从视频推测,应该是M5在倒车过程中,猛地加速,一下冲到海豚车顶了。 这样富有戏剧性的视频,很快引爆了各大车友群。 不过在吃瓜…

【教3妹学编辑-mysql】mybatis查询条件遇到的坑及解决方案

2哥 :3妹,今天怎么下班这么晚啊。 3妹:嗨,别提了,今天线上出bug了, 排查了好久。 2哥:啊,什么问题呀? 3妹:我们内部的一个管理系统报错了, 最近排查下来是myb…

智能穿戴AR眼镜主板方案定制_MTK平台AR智能眼镜PCB板开发

AR智能眼镜,是采用了多种技术实现增强现实效果,是将虚拟信息和现实场景相结合的智能设备。 AR智能眼镜硬件上,包括多个传感器、显示装置和处理器等。其中,传感器用于捕捉用户的动作和环境信息,如摄像头、陀螺仪、加速…

支付宝支付==沙盒

地址 登录 - 支付宝 可以看到有买家和卖家账户了 完整代码 https://gitee.com/hebian1994/demo-zhifubao.git

千万富翁分享:消费多少免单多少,电商运营高手实战秘籍拆解

千万富翁分享:消费多少免单多少,电商运营高手实战秘籍拆解 后疫情时代,国内电商圈层进程依然是在高速发展阶段,今年2023年双十一也彻底落下帷幕,但这次相较于往常却没有公布具体的成交规模数据,那么&#x…

安装DevEco Studio时,遇到的ohpm报错(解决)

如上图所示,我试了网上的各种办法,包括官网的文档,运行init.bat也不行。 接下来我说一下我的办法: 我从官网下载安装包后,将bin文件添加在了环境变量里(最终安装的位置,但是因为他会自己下载所…

vue:如何把后端传过来的数组的其中一个对象加入新的属性

加入我们是更改数组中的第一个对象&#xff0c;在vue中可以使用$set方法将属性插入到第一个对象中作为属性。 Script部分&#xff1a; <script>export default {data() {return {boxes: [//模拟后端传过来的数组{id:1,name:张三},{id:2,name:李四},{id:3,name:王五},{i…

碳交易机制下考虑需求响应的综合能源系统优化运行(附带Matlab程序)

碳交易机制下考虑需求响应的综合能源系统优化运行&#xff08;附带Matlab程序&#xff09; 仿真平台&#xff1a;MATLABCPLEX 使用的是yalmipcplex求解器完成求解 资源地址&#xff1a; 碳交易机制下考虑需求响应的综合能源系统优化运行&#xff08;附带Matlab程序&#xff09…

基于ssm酒店管理系统

基于ssm酒店管理系统 摘要 基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架的酒店管理系统是一种利用现代化技术手段来提高酒店管理效率和服务质量的信息化管理系统。该系统整合了Spring框架的依赖注入、Spring MVC框架的请求处理和MyBatis框架的持久化操作&a…

3DMAX渲染AO图的三种方法

3DMAX渲染AO图的三种方法 使用Mental Ray渲染AO 1. 我为这个演示制作了一个非常简单的场景。该场景包含一个茶壶、一个盒子和一个球体。我还应用了一些材质&#xff0c;并将渲染引擎设置为Mental Ray。 2. 我还在场景中添加并定位了几个泛光灯。 3. 我选择了Mental Ra…

java基础-数据类型

1、变量 变量就是申请内存来存储值。也就是说&#xff0c;当创建变量的时候&#xff0c;需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间&#xff0c;分配的空间只能用来储存该类型数据。 因此&#xff0c;通过定义不同类型的变量&#xff0c;可以在内…

CTFSHOW 文件上传

web151 JS前端绕过 直接上传 png的图片马 然后抓包修改为php asystem("ls /var/www/html"); asystem("cat /var/www/html/flag.php"); web152 和151一样的方法也可以实现上传 asystem("ls /var/www/html"); asystem("cat /var/www/html…

将Soildorks模型导入PreScan

首先将Soildworks模型导入到SketchUP中&#xff0c;导入方法如下&#xff1a; 在Soildworks中将模型另存为IFC 2x3 模型 在选项中将单位改成米 在SketchUP中文件选择导入 ifc 文件即可 然后在SketchUP中定义坐标轴 SketchUP中红色的轴为X&#xff0c;绿色的轴为Y&#xff0c;蓝…

Linux操作系统使用及C高级编程-D5Linux shell命令(进程管理、用户管理)

进程管理 查看进程ps 其中ps -eif可显示父进程 实时查看进程top 按q退出 树状图显示进程pstree 以父进程&#xff0c;子进程以树状形式展示 发送信号kill kill -l&#xff1a;查看都有哪些信号 9&#xff1a;进程终止 kill不指定信号&#xff0c;默认发送的是15信号SIGT…

执行力太差的人,如何才能提高执行力?

执行力是计划的落地执行&#xff0c;是按照计划稳步推进&#xff0c;导向结果的能力。不同的人&#xff0c;其执行力有很大的差别。比如说有拖延症的人&#xff0c;基本上是谈不上执行力的&#xff0c;执行力是一个综合体&#xff0c;是多个要素的共同作用。 在企业HR人才测评…