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

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

第15届蓝桥杯第4次STEMA测评已于2024年1月28日落下帷幕,编程题一共有6题,分别如下:

  • 青蛙过河

  • 巡逻的直升机

  • 栽花

  • 绘制风车

  • 专注力游戏训练

  • 扑克牌排序

专注力训练游戏,本题是2024年1月28日举行的第15届蓝桥STEMA测评Scratch编程初/中级组编程第5题。题目要求编程创作一个专注力训练游戏,在九宫格中按随机顺序出现1~9这9个数字,玩家必须按照顺序依次点击数字才能完成游戏。

先来看看题目的要求吧。

一.题目说明

编程实现:

专注力训练游戏。

具体要求:

1). 点绿旗,变量“用时”为0,背景如图所示;

图片

2). 1秒后, 1、2、3、......、9这9个数随机出现在九宫格中,如图所示;

注意:每行的三个数字y坐行相同,每列的三个数字x坐标相同,行间距和列间距相同。

图片

3). 九宮格里的数字完全呈现后,“用时”开始每隔1秒增加1;

4). 按顺序依次点击1、2、3、......、9,开始点击1时,1会消失,下一次只有点击2时,2会消失,点击其他数字无任何效果,以此类推;(参考视频)

5). 全部数字都消失后,“用时” 不再变化,背景如图所示。

图片

评判标准:

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

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

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

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

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

二.思路分析

本题只有1个数字角色,如图所示:

图片

对于数字角色一共有9个造型,分别表示数字1~9,如图:

图片

对应的,舞台背景有两个,背景1表示游戏中,背景2表示游戏胜利,如图:

图片

本题是一道经典的九宫格问题,考查的知识点主要包括列表、克隆、变量和算法等。

根据题目的描述,我们使用计算思维中的拆分思想将游戏分成如下4个部分:

  • 克隆九宫格数字

  • 确保9个数字随机出现

  • 依次点击数字

  • 计时功能

其中,第一步比较简单,直接使用超平老师总结的“克隆4兄弟模型”,可以快速完成,只是不能保证9个数字是随机出现的。

因此,第二步的任务就是确保9个数字是随机出现的,这需要使用列表,同时结合插队算法,就可以让1~9按照随机顺序插入到列表。

图片

插队是一种不文明的现象,在生活中随处可见,相信你肯定非常熟悉。

那什么是插队算法呢,简单来说,就是当前有N个人,如果允许随意插队,那么你可以选择的位置有N+1个,举例说明如下:

当前0人,你就是第1名,只有1个位置;当前1人,插队,排第1名,不插队,排第2名,有2个位置可选;当前2人,插到最前面,排第1名,插到中间,排第2名,不插队,排第3名,有3个位置可选;......当前N人,则有N + 1个位置可选;

结合列表中的插入指令和随机数指令就可以轻松实现数字的插入,如图所示:

图片

再通过循环和变量,就可以轻松地将数字1~9按随机顺序插入到列表中,效果如下:

图片

有了这个列表,我们就可以按照列表中的数字依次设置每个克隆体的造型。

接下来是第3步,依次点击数字,这里需要弄清楚两个问题:

1). 被点击的数字是几?

2). 即将要消失的数字是几?

第一个问题非常简单,每个克隆体都有自己的造型,直接使用造型编号或造型名称即可。

第二个问题也不难,数字是按照顺序依次消失的,可以创建一个变量表示即将要消失的数字,初始值设置为1,每消失一个数字,将变量加1即可。

第4步是计时,这个就比较简单了,结合变量和循环就可以,需要注意计时结束的条件。

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

三.编程实现

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

  • 初始化工作

  • 构造随机列表

  • 克隆九宫格

  • 依次点击数字

  • 计时功能

1. 初始化工作

准备工作包括如下几个:

  • 舞台背景的设置

  • 创建变量并初始化

  • 隐藏本体

在数字角色中编写代码如下:

图片

2. 构造随机列表

创建一个列表“数字”,根据前面的思路分析,将构造随机列表的代码定义成自制积木,代码如下:

图片

代码不多,强调两点:

1). 在插入数据之前一定要将列表清空;

2). 从1开始,依次插入1~9,对于数字1而言,只有1个位置,数字2则有两个位置,数字9有9个位置,也就是说数字i,有i个位置,所以随机数的范围是1~i之间。

这就是强大的插队算法,代码其实不多,关键在于理解和灵活运用。

3. 克隆九宫格

这是一个典型的3行3列排列效果,最简单的莫过于使用“克隆4兄弟模型”,在克隆的同时,按照列表数据依次切换本体的对应造型。

为了方便,仍然使用自制积木来组织代码,如下:

图片

代码有点多,说明3点:

1). 这里再一次使用了变量"i",i的作用就是用作计数器,可以反复使用,但是要注意重新初始化;

2). 题目提供的参考视频中,数字是挨个克隆出来的,所以自制积木不需要勾选“运行时不刷新屏幕”。

有了上面定义的两个自制积木,就可以按照题目要求克隆好九宫格了,在绿旗中增加代码如下:

图片

注意,在克隆数字之前,需要等待1秒。对应的,需要将克隆体显示出来,编写代码如下:

图片

4. 依次点击数字

先创建一个变量“序号”,表示即将要消失的数字,将初始值设为为1,在绿旗中增加代码如下:

图片

然后就是在点击克隆体的时候,判断其造型编号和序号是否相等,代码如下:

图片

这样一来,就可以按照顺序依次点击数字并使其消失了。

5. 计时功能

这一步比较简单,每隔1秒将变量加1,当序号等于10时,说明所有的数字都消失了,计时结束,在绿旗代码中继续编写代码如下:

图片

代码不难,说明3点:

1). 计时功能应该写在绿旗代码中,不要在克隆体中编写,因为克隆体有多个; 

2). 计时的时候,应该先“等待1秒”,再“将用时增加1”,不要搞反了;

3). 计时结束,换成2背景,显示成功的界面;

至此,整个作品就创作好了,赶紧来测试一下自己的专注力吧,看看最快几秒能完成训练。

四.总结与思考

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

  • 列表的基本使用;

  • 克隆编程;

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

  • 运动编程;

  • 变量的使用;

  • 插队算法;

这是初级组最后一题,难度中等,完成时间25分钟左右,难点有两个,一是如何构造随机列表,二是如何依次让数字消失。

构造指定数字的随机列表,这是一个非常典型的需求,在之前的真题也出现过,比如:

  • 《玛雅神庙-第12届蓝桥杯Scratch国赛真题第6题》

  • 《红绿灯记忆游戏-第13届蓝桥杯Scratch选拔赛真题精选》

  • 《拼图游戏-第14届蓝桥杯国赛Scratch真题初中级组第5题》

最简单的方法就是超平老师总结的“插队算法”,一定要熟练掌握并做到灵活运用。很多游戏都会用到这一技巧,比如记忆翻牌、数字华容道等。

超平老师给你留一个思考题,本作品中,在点击数字的时候,鼠标要碰到有颜色的部分,否则没有效果,用户体验不是特别好,你有什么好的改进办法吗?

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

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

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

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

相关文章

fpga_硬件加速引擎

一 什么是硬件加速引擎 硬件加速引擎,也称硬件加速器,是一种采用专用加速芯片/模块替代cpu完成复杂耗时的大算力操作,其过程不需要或者仅需要少量cpu参与。 二 典型的硬件加速引擎 典型的硬件加速引擎有GPU,DSP,ISP&a…

【C++】类和对象之拷贝构造函数篇

个人主页 : zxctscl 文章封面来自:艺术家–贤海林 如有转载请先通知 文章目录 1. 前言2. 传值传参和传引用传参3. 概念4. 特征 1. 前言 在前面学习了6个默认成员函数中的构造函数和析构函数 【C】构造函数和析构函数详解,接下来继续往后看拷…

Sora领航AIGC时代:深度解读行业变革与AI工具全景图

随着人工智能技术的飞速发展,越来越多的企业和行业开始将AI融入其核心业务流程中。在这个背景下,Sora以其独特的视角和全面的解决方案,正引领着AIGC(人工智能生成内容)的趋势变革。 本文将对Sora进行深度解读&#xf…

Vue3(pinia) 整合 SpringWebsocket链接url动态传参

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:java专栏 📧如果文章知识点有错误的地方,…

Nest.js权限管理系统开发(二)连接MySQL、Redis

安装MySQL及相关依赖 下载dmg文件安装 前往MySQL :: Download MySQL Community Server下载最新版本的MySQL。 打开系统设置,拉到最下方可以看到MySQL,打开看到两个绿点表示安装成功,也可以在这里修改MySQL密码。 配置环境变量 打开终端配…

三十、项目实战:实时人脸检测

OpenCV3.3之后的版本都支持了深度学习框架,具体的模型相关路径如下图所示 一、相关文件下载 前期准备工作: 下载两个文件:下载链接 最好放到跟项目一块,到时候方便调用 二、代码 yy_main.cpp pbtxt_path和pb_path为下载的那…

Java 学习和实践笔记(20):static的含义和使用

static的本义是静止的。在计算机里就表示静态变量。 在Java中,从内存分析图上可以看到,它与类、常量池放在一个区里: 从图可以看到,普通的方法和对象属性,都在heep里,而static则在方法区里。 static声明的…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型

专属领域论文订阅 VX 关注{晓理紫},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 如果你感觉对你有所帮助,请关注我,每日准时为你推送最新论文。 分类: 大语言模型LLM视觉模型VLM扩散模型视觉语言…

STL - 并查集

1、并查集原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合;开始时,每个元素自成一个 单元素集合,然后按一定的规律将归于同一组元素的集合合并;在此过程中要反复用到查询某一 个元素归属于那个集合的…

Ps:明度直方图

明度 Luminosity直方图显示了图像中各个亮度级别的像素分布情况。 与 RGB 直方图不同,“明度”直方图专注于图像的亮度信息,而不是单独的颜色信息。 在“直方图”面板的通道中选择“明度”。 “明度”直方图提供了一种量化的方式来理解图像的整体明暗结构…

速度提高100倍 - 扩展 RAG 应用程序,以实现数十亿个嵌入,并行计算余弦相似度

原文链接:100x Faster — Scaling Your RAG App for Billions of Embeddings 2024 年 2 月 15 日 RAG应用程序最大的问题之一是它们的计算检索时间。想象一下,你有一个向量数据库,包含一万亿条Embedding向量的记录。当您尝试将用户查询与一…

idea 打jar包、lib文件夹

idea目录文件 idea四层级结构 idea操作Java文件的基本单位:项目(Project)。对应四级结构 第1层级架构:项目(project) 在 IntelliJ IDEA 中Project是最顶级的结构单元,然后就是Module&#xf…

MySQL知识点总结(六)——InnoDB底层架构

MySQL知识点总结(六)——InnoDB底层架构 InnoDB底层架构总览InnoDB底层各组件分析Buffer PoolChange BufferLog BufferAdaptive Hash IndexSystem TablesapceUndo TablespacesRedo Log InnoDB底层架构总览 关于InnoDB底层架构,网上有一张非常…

Linux之JAVA环境配置Tomcat离线安装与启动

一,安装jdk和Tomcat 1.1上传JDK跟Tomcat 1.2解压 解压tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz 解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 1.3.配置环境变量 vim /etc/profile 在最后加上: #java environment export JAVA_HOME/usr/local/ja…

异步框架Celery在Django中的运用

参考博客:https://www.cnblogs.com/pyedu/p/12461819.html 参考视频:01 celery的工作机制_哔哩哔哩_bilibili 定义:简单灵活、处理大量消息的分布式系统,专注于实时处理异步队列,支持任务调度 主要架构: …

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打 一、前言 以下软件教程以 佳易王物流单打印查询系统V17.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 这个版本在原来基…

【软件使用】postman使用教程

​ 🍎个人博客:个人主页 🏆个人专栏:软件安装及使用 ⛳️ 功不唐捐,玉汝于成 ​ 目录 前言 正文 步骤1:安装Postman 步骤2:发送请求 步骤3:管理环境变量 步骤4&#xff1…

Leetcode 26-30题

删除有序数组中的重复项 给定一个有序数组,要求原地删除重复出现的元素,返回删除后的数组的长度。 这里的原地删除其实可以这样表示,用双指针从前往后扫一遍,遇到新的没出现过的元素就放到前面去,就可以实现删除后的数…

Linux线程同步(2)死锁与互斥锁

死锁(Deadlock)是指两个或两个以上的进程(或线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了…

Java实现就医保险管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…