记忆力考验游戏-第15届蓝桥第5次STEMA测评Scratch真题精选

news2024/10/7 11:25:22

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

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

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

  • 熊猫左右转

  • 返回地球

  • 吐丝的蜘蛛

  • 最大的三位数

  • 记忆力考验游戏

  • 回文数

记忆力考验游戏,本题是2024年3月10日举行的第15届蓝桥STEMA测评Scratch编程初/中级组编程第5题,题目要求编程实现记忆力考验游戏。舞台上有16张卡片,其中有4张为圆形图案,玩家需要翻出所有圆形图案,看谁用的时间更短。

先来看看题目的要求吧。

一.题目要求

编程实现:

记忆力考验游戏。

现有16张卡片,卡片的背面为“?“图案,卡片的正面为圆形或三角形图案,玩家有1秒的时间去记忆正面为圆形图案的卡片位置,然后点击卡片,卡片显示正面,如果正面为圆形图案,该卡片不再变化;如果正面为三角形图案,则0.3秒后该卡片再次显示背面,当正面为圆形图案的卡片都显示正面后,游戏结束。

具体要求:

1). 每次点击绿旗,“完成用时”为0,舞台上呈现4行4列排列整齐的卡片方阵,所有卡片均显示背面,如图所示;

图片

2). 1秒后,所有卡片显示正面,其中有随机的4张卡片正面为圆形图案,其它卡片正面均为三角形图案,如图所示;

图片

3). 1秒后,所有卡片都显示背面;

4). 此时开始,“完成用时” 每隔1秒增加1,如图所示;

图片

5). 用鼠标左键点击任意一张卡片,那么该卡片显示正面;

6). 如果被点击卡片的正面图案为圆形,则该卡片显示正面,如图所示;

图片

7). 如果被点击卡片的正面图案为三角形,那么该卡片0.3秒后再次显示背面;(参考视频)

8). 如果4张正面为圆形图案的卡片都显示正面后“完成用时”不再变化,游戏结束。

图片

评判标准:

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

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

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

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

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

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

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

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

二.思路分析

本题只有1个方块角色,如图所示:

图片

方块角色包含3个造型,分别是问号?、圆形○、三角形△,如图所示:

图片

本题考查的是知识点是克隆编程,包括克隆、私有变量、列表和点击事件等。

这是一个典型的克隆场景,并且是标准的4行4列克隆,直接使用“克隆4兄弟模型”,两分钟就可以搞定。

关于克隆4兄弟模型的用法,可以参考《变色游戏-第15届蓝桥第三次STEMA测评Scratch真题精选》这篇教程。

在克隆出来的16张卡片中,必须保证其中4张是圆形,其它12张是三角形。很显然这是“列表”擅长的事情,可以使用列表来保存每张卡片的造型编号,同时结合“私有变量”给克隆体进行编号。

当然,这16张卡片的造型是随机显示的,所以在向列表中加入数据的时候,需要用到“插队算法”。

关于插队算法的用法,可以参考《专注力训练游戏-第15届蓝桥第4次STEMA测评Scratch真题精选》这篇教程。

在点击卡片时,如果是三角形等0.3秒翻回去,如果是圆形则不动,当所有圆形都找到后,游戏结束,不再计时。

因此,我们需要借助变量来记录点击圆形的数量,当数量为4时结束游戏。

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

三.编程实现

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

  • 初始化列表

  • 克隆卡片

  • 点击卡片

  • 计时和结束

1. 初始化列表

根据前面的思路分析,我们使用插队算法来生成列表数据,先创建一个列表“图案”,为方便讲解和组织代码,可以使用自制积木来完成这项工作。

定义自制积木如下:

图片

代码不难,简单说明三点:

1). 由于圆形的造型编号是2,三角形的造型编号是3,因此插入了4个2和12个3;

2). 12个2都是一样的,直接按顺序加入即可;

3). 3需要使用插队算法插入随机位置,这里直接将变量i的初始值设为13,就不需要使用指令来获取列表的长度了,代码更简洁。

执行代码,列表数据如下:

图片

注意,数据是随机插入的,所以每次执行数据都是不同的。

2. 克隆卡片

接下来就是克隆16张卡片了,直接使用克隆4兄弟模型即可,我们仍然使用自制积木来组织代码,定义自制积木如下:

图片

代码比较简单,注意3点:

1). _ID是私有变量,用来表示卡片的编号,编号从1开始,一直到16,刚好和列表的编号一致;

2). 卡片刚开始显示的是?,也就是造型1,先设置好,当然,你也可以在克隆体中进行设置,效果一样;

3). 如果想瞬间完成克隆,可以在定义自制积木时勾选”运行时不刷新屏幕“,这个不是必须的。

然后,在绿旗指令下调用自制积木,代码如下:

图片

注意二者的顺序,一定要确保先初始化列表,再进行克隆。

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

图片

代码比较简单,关键点在于使用私有变量“_ID”和列表“图案”,获取每张卡片的造型。

执行代码,卡片显示正面的效果如下:

图片

可以看到,编号为1、3、7、9的4个卡片是圆形,和列表中的数据完全一致。注意,由于列表数据是随机插入的,所以每一次执行的效果是不一样的。

3. 点击卡片

在点击卡片时,需要判断当前是圆形还是三角形,并进行相应处理,直接使用“当角色被点击”指令,继续编写代码如下:

图片

代码不多,强调3点:

1). 当卡片处于背面,也就是问号造型时,要获取自己的正面造型,需要通过_ID和列表来获取;

2). 一旦卡片显示正面了,就可以直接使用造型编号来判断是圆形还是三角形了;

3). 点击圆形图案次数是要统计的,这里使用了变量”圆形图案“,需要初始化操作,稍后会在绿旗指令下编写。

4. 计时和结束

最后是计时效果了,需要明确如下三个问题:

1). 在哪里编写代码?

2). 什么时候开始计时?

3). 什么时候结束计时?

本题有明确要求,在卡片翻回背面后才开始计时,于是很多同学就直接将计时写到了克隆体中。

那么,这样行不行呢?

很明显有问题,因为这里有16个克隆体,所有的克隆体都会执行计时代码,显然不对。更不能通过发送广播来实现,因为所有的克隆体和本体都会接收广播消息并执行代码。

所以,计时应该写在本体中,也就是绿旗指令下,但是要注意,卡片在翻回背面之前已经花了2秒钟,因此需要等待2秒才开始计时。

什么时候结束了呢,当然是所有的圆形卡片都找到了,从代码的角度来说,就是”圆形图案“变量 = 4,停止计时。

搞清楚这3个问题了,就可以在绿旗下面,编写代码如下:

图片

除了两个自制积木,其它代码是新加的,注意代码的顺序,变量的初始化尽量写在前面。

到这里是不是就ok了呢?

大部分同学以为已经大功告成了,实际上还有一个小bug。计时是停止了,但卡片还可以继续点击,需要完善一下。

完善的方法也很简单,在角色被点击时增加一个判断即可,包括两个条件,代码如下:

图片

如此一来,当计时结束后,点击卡片就不会有任何效果了,也避免多次点击同一○卡片,完美。

至此,整个作品就创作好了,赶紧测试一下自己的短时记忆力吧。

四.总结与思考

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

  • 运动编程;

  • 克隆编程;

  • 全局变量和私有变量;

  • 列表运算;

  • 造型切换及其灵活使用;

  • 点击事件;

本题是初级组的最后一题,难度中等,完成时间25分钟左右。关键点有两个,一是使用列表和私有变量来保存卡片的造型编号,二是使用插队算法来实现列表的随机效果。

又是一道典型的n宫格(包括多行多列)场景作品,在历届真题中已经出现过多次,比如:

  • 《专注力训练游戏-第15届蓝桥第4次STEMA测评Scratch真题精选》

  • 《变色游戏-第15届蓝桥第三次STEMA测评Scratch真题精选》

  • 《九宫格游戏-第14届蓝桥杯省赛Scratch初级组真题第5题》

  • 《植树节种树-第12届蓝桥杯Scratch选拔赛真题精选》

  • 《影院选座-第14届蓝桥杯STEMA测评Scratch真题精选》

它们其实都是一类题目,实现的核心点有如下3个:

1). 克隆4兄弟模型

2). 列表和私有变量

3). 插队算法

一旦你掌握了这些核心模型和算法,这类题分分钟就可以搞定了。除此之外,还有很多游戏,都会用到这些核心知识,比如井字棋、记忆翻牌游戏和数字华容道等。

超平老师给你留一道思考题,如果要把本题扩展为5宫格,该怎么实现呢,能否再进一步扩展到n(3 <= n <= 6)宫格呢?

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

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

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

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

相关文章

nuitka和pyinstaller打包文件大小对比

最近看到一篇文章&#xff0c;介绍nuitka打包Python程序&#xff1a;比较PyInstaller和Nuitka 听说Nuitka打包文件会获得更小的文件体积&#xff0c;我准备测试一下。 1、用两种方式打包程序 写一个简单的wxPython程序&#xff1a; # demo.pyimport wxapp wx.App() frame…

使用pip install替代conda install将packet下载到anaconda虚拟环境

问题描述 使用conda install 下载 stable_baseline3出现问题 一番搜索下是Anaconda.org缺少源 解决方法 首先使用管理员权限打开 anaconda prompt 然后激活目标环境&#xff1a;conda activate env_name 接着使用&#xff1a;conda env list查看目标env的位置 如D:\anacon…

有关字符串算法

例题一 解法&#xff1a; 算法思路&#xff08;两两⽐较&#xff09;&#xff1a; 我们可以先找出前两个的最⻓公共前缀&#xff0c;然后拿这个最⻓公共前缀依次与后⾯的字符串⽐较&#xff0c;这样就可以找出所有字符串的最⻓公共前缀。 例题二 解法&#xff08;中⼼扩散&am…

Android Studio学习8——点击事件

在xml代码中绑定 在java代码中绑定 弹出一个toast 随机&#xff0c;数组

Linux: linux常见操作指令

目录 01.ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令&#xff08;重要&#xff09; 06.rmdir指令 && rm 指令&#xff08;重要&#xff09; 07.man指令&#xff08;重要&#xff09; 07.cp指令&#xff08;重要&#xff09; 08.mv指令&#…

stargan项目实战及源码解读

数据及代码链接见文末 ​​​​​​​论文解析&#xff1a;Star GAN论文解析-CSDN博客 1.测试模块效果与实验分析 测试数据需要准备两个文件夹src&#xff08;源&#xff09;和ref&#xff08;目标&#xff09;&#xff0c;这两个文件夹下的文件夹名称代表各个domain。 运行测…

【随笔】Git 高级篇 -- 撤销变更(十四)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

基于单片机便携式太阳能充电器系统设计

**单片机设计介绍&#xff0c;基于单片机便携式太阳能充电器系统设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机便携式太阳能充电器系统设计概要主要涉及利用单片机作为核心控制器件&#xff0c;结合太阳能充电技术和便携式…

java-网络编程socket-聊天室-先导

这边我会简单介绍一下聊天室的组成部分,和思路的引导 涉及知识点 java 中异常处理机制 和 io流和网络编程socket 简单回顾异常机制 Java中的异常机制是一种用于处理程序运行期间出现的错误或异常情况的机制。这种机制允许程序员定义在特定情况下可能发生的错误&#xff0c;并…

Revit 2025新功能一览~

Hello大家好&#xff01;我是九哥~ Revit2025已经更新&#xff0c;安装后&#xff0c;简单试了下&#xff0c;还是挺不错的&#xff0c;流畅度啊&#xff0c;新功能啊&#xff0c;看来还是有听取用户意见的&#xff0c;接下来就简单看看都有哪些新功能。 好了&#xff0c;今天的…

小红书自动化仿写发文机器人了解一下

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…

CCIE-08-BGP-Listen

目录 实验条件网络拓朴实验目的 开始配置配置动态路由协议配置BGP检查邻居配置 实验条件 网络拓朴 实验目的 将R1配置成Listen状态&#xff0c;自动接收来自其它路由器的建邻居请求、建立邻居 开始配置 配置动态路由协议 这里用EIGRP来配置&#xff0c;保证网络的可达性&a…

2024年华为OD机试真题-推荐多样性-Java-OD统一考试(C卷)

题目描述&#xff1a; 推荐多样性需要从多个列表中选择元素&#xff0c;一次性要返回N屏数据&#xff08;窗口数量&#xff09;&#xff0c;每屏展示K个元素&#xff08;窗口大小&#xff09;&#xff0c;选择策略&#xff1a; 1. 各个列表元素需要做穿插处理&#xff0c;即先从…

ES11 学习

文章目录 1. Promise.allSettled2. Module 新增2.1 ! 动态导入 import()2.2 import.meta2.3 export * as obj from module 3. 字符串 matchAll()4. BigInt实际开发相关使用 5. globalThis6. 空值合并运算符7. 可选链操作符 1. Promise.allSettled Promise.allSettled() 返回一个…

应急响应实战笔记05Linux实战篇(2)

第2篇&#xff1a;捕捉短连接 0x00 前言 ​ 短连接&#xff08;short connnection&#xff09;是相对于长连接而言的概念&#xff0c;指的是在数据传送过程中&#xff0c;只在需要发送数据时&#xff0c;才去建立一个连接&#xff0c;数据发送完成后&#xff0c;则断开此连接…

Azure service tag 导致的Exchange online 无法发送邮件的问题

最近碰到一个比较有趣的客户问题。 这个客户一直在使用Exchange online 与自己在Azure Vnet 里面的exchange server交换邮件。 客户的网络架构如下图所示。 客户说之前从exchange online往外发邮件一直是好的,但是最近两周开始只有百分之3左右的邮件可以发出去,其他的都pen…

C语言中的结构体:高级特性与扩展应用

前言 结构体在C语言中的应用不仅限于基本的定义和使用&#xff0c;还包含一些高级特性和扩展应用&#xff0c;这些特性和应用使得结构体在编程中发挥着更加重要的作用。 一、位字段&#xff08;Bit-fields&#xff09; 在结构体中&#xff0c;我们可以使用位字段来定义成员…

【性能测试】接口测试各知识第2篇:学习目标,1. 理解接口的概念【附代码文档】

接口测试完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;接口测试&#xff0c;学习目标学习目标,2. 接口测试课程大纲,3. 接口学完样品,4. 学完课程,学到什么,5. 参考:,1. 理解接口的概念。学习目标&#xff0c;RESTFUL1. 理解接口的概念,2.什么是接口测试…

mybatis流式游标查询-导出DB大数据量查询OOM问题

问题场景 Mysql数据处理类型分以下三种 com.mysql.cj.protocol.a.result.ResultsetRowsStatic&#xff1a;普通查询&#xff0c;将结果集一次性全部拉取到内存 com.mysql.cj.protocol.a.result.ResultsetRowsCursor&#xff1a;游标查询&#xff0c;将结果集分批拉取到内存&…

Windows集群部署项目

目录 一&#xff0c;环境准备 1.1.安装MySQL 1.2.安装JDK 1.3.安装TomCat 1.4.安装Nginx 二&#xff0c;部署 2.1.后台服务部署 2.2.Nginx配置负载均衡及静态资源部署 一&#xff0c;环境准备 1.1.安装MySQL 可以参考博客&#xff1a;http://t.csdnimg.cn/A75bg 1.2.…