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

小狗避障-第14届蓝桥杯省赛Scratch中级组真题第4题

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

小狗避障,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第4题,题目要求编程实现小狗避障效果。玩家输入一个5-8之间的数字,在舞台上呈现对应数量的柱子,1秒后小狗水平向右移动,并且依次绕过每根柱子。

先来看看题目的要求吧。

一.题目说明

编程实现:

小狗避障。

具体要求:

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

2). 舞台下方出现询问框:"输入5-8之间的一个数字"(包含5和8);

3). 如果输入的数字不在5-8之间,询问框说:"请重新输入5-8之间的一个数字";

4). 如果输入的数字在5-8之间,在舞台上呈现对应数量的避障柱子;

5). 等待1秒,小狗水平向右移动,并按照以下要求绕过每根柱子;

要求:从第1根柱子后面绕过,从第2根柱子前面绕过,从第3根柱子后面绕过……以此类推。(可明显看到小狗跑动的过程,且动作连贯没有延迟与卡顿,请以程序演示视频为准);

6). 3秒内小狗到达舞台右边缘,程序结束。

评判标准:

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

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

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

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

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

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

二.思路分析

本题包含两个角色,分别是小狗和柱子,如图所示:

其中,小狗角色有4个造型,如图:

根据题目描述,可以将作品拆分成3个小模块:

  • 玩家输入数字

  • 克隆柱子

  • 小狗向右移动

其中,玩家输入数字需要使用问答指令,但是要确保输入的数字在5~8之间,如果不在这个范围内,则重新提问,一般的解决方案是使用直到循环。

克隆柱子比较简单,根据玩家输入的数字自左至右依次克隆即可。

小狗向右移动也比较简单,不过这里有一个难点,就是要求小狗从奇数根柱子后面绕过,从偶数根柱子前面绕过。

这就涉及到角色的层次关系,如果将柱子从1开始编号,对于编号为奇数的柱子,要移到前面,编号为偶数的柱子则移到后面。

这里有一个小疑问,是改变小狗的层次关系简单呢,还是改变柱子的层次关系更简单呢?

相对来说,改变柱子的层次关系更为简单,你说是吧。接下来,我们进入具体的编程实现环节。

三.编程实现

根据题目描述和思路分析,我们可以分如下3个步骤来编写程序:

  • 玩家输入数字

  • 克隆柱子

  • 小狗向右移动

1. 玩家输入数字

首先,要明确到底是哪个角色在询问呢,小狗、柱子还是舞台背景?

小狗肯定不行,因为点击绿旗时小狗处于显示状态,柱子和舞台背景都是可以的,相对来说,在柱子角色中询问更为简单。

其次,要注意询问的内容有两句,一句是”输入5-8之间的一个数字“,一句是”请重新输入5-8之间的一个数字“。

如果输入的数字不在5~8之间,则一直要重复询问,切换到柱子角色中,编写代码如下:

同时要注意,角色的初始化不能少,包括隐藏和坐标设置。

2. 克隆柱子

一旦用户输入正确,就要开始克隆柱子了,克隆比较简单,重点是如何给柱子进行编号,从而区分哪个处于奇数位置,哪个处于偶数位置。

相信聪明的你已经想到了,使用变量,全局变量和私有变量都可以。如果是全局变量,就表示柱子的顺序,如果是私有变量,就可以用来表示柱子的编号。

此处,我采取私有变量的方案,在上面的代码块后面,继续编写代码如下:

这里的”_ID“是私有变量,加下划线只是个人习惯,重要的是要勾选”仅适用于当前角色“,如图:

在代码的最后面,增加了一个”广播go“的指令,其作用是告诉小狗可以开始移动了,稍后在第3步编写具体代码。

一旦生成了柱子克隆体,就需要将柱子显示出来,同时根据其ID设置层次关系,对应的代码如下:

判断奇偶数就是看数字能不能被2整除,如果能整除就说明是偶数,否则就是奇数,所以这里用到了余数指令。

3. 小狗向右移动

点击绿旗时,小狗位于舞台左下方,对小狗角色进行初始化设置,切换到小狗角色,编写代码如下:

在接收到”go“广播消息后,开始向右移动,对应的代码如下:

简单说明4点:

1). 题目要求等待1秒小狗才开始移动,所以在接收到广播消息之后,增加了一个”等待1秒“指令;

2). 判断是否到达舞台右边缘,不能直接使用”碰到舞台边缘“指令,这是因为舞台边缘包括上下左右4个边缘,角色的初始位置就位于舞台左边缘;

3). 由于在移动的过程中有连贯动作,也就是切换造型,但是不能切换太快,所以增加了一个”等待0.1秒“指令;

4). 题目要求3秒内到达舞台右边缘,可以通过改变移动速度来实现,比如这里的”将x坐标增加20“,你也可以设置为其它的值;

至此,小狗避障作品就创作好了,看看这只聪明的小狗是如何绕过柱子的吧。

四.总结与思考

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

  • 问答指令;

  • 克隆编程;

  • 私有变量;

  • 外观编程,包括造型切换、显示、隐藏和层次关系设置;

  • 运算指令,包括比较运算、逻辑运算和余数运算;

  • 事件广播机制;

这是中级组的第4题,题目难度一般,完成时间在15分钟左右,难点在于如何实现小狗轮流绕过柱子的效果。

作品代码不多,但是涉及到的知识点不少,这就要求考生具备扎实的编程基础,能够灵活运用各知识点快速创作作品。

留给你一个小小的思考题,题目要求3秒内到达舞台右边缘,如果要精确到刚好3秒,该如何实现呢? 

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

需要素材和源码的,可以移步至“超平的编程课”gzh,或者私信本人。

相关文章:

小狗避障-第14届蓝桥杯省赛Scratch中级组真题第4题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第139讲。 小狗避障,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第4题&#xf…...

GPT学习笔记-Embedding的降维与2D,3D可视化

嵌入(Embedding)在机器学习和自然语言处理中是一种表示离散变量(如单词、句子或整个文档)的方式,通常是作为高维向量或者矩阵。嵌入的目标是捕捉到输入数据中的语义信息,使得语义相近的元素在嵌入空间中的距…...

Nautilus Chain上线主网,为DeFi和流支付的未来构建基础

近日,加密行业权威平台 Coinmarketcap 发表了一篇名为“Zebec 模块化 Layer3 链 Nautilus Chain上线主网,为 DeFi 和流支付的未来构建基础”的文章,文中对 Zebec 生态公链 Nautilus Chain 的生态进展进行了简要的报道,并对其进行了…...

java设计模式之命令设计模式的前世今生

命令设计模式是什么? 命令设计模式是一种行为型设计模式,它允许将请求封装为对象,并将其传递给调用者,从而使调用者可以在不知道请求具体细节的情况下进行操作。命令模式的主要目的是解耦请求的发送者和接收者,以及通…...

离散系统函数零积点分析

离散系统函数零积点分析 在 Matlab中,系统函数的零极点就可以通过函数 roots 得到。 函数的零极点也可以通过函数 tf2zp 获得,其调用格式为:[Z, P, K] tf2zp(B, A),函数 tf2zp 可以将H(z)的有理分式转换为零极点增益形式&#…...

Karl Guttag:苹果VST MR头显也无法突破AR的物理局限

据近期的爆料、传闻显示,苹果将6月份的WWDC2023上首次公布AR/VR头显。对此,AR/VR光学专家Karl Guttag持怀疑态度,他此前在DisplayDaily的文章中写道,苹果研发AR/VR头显更像是担心错过新技术趋势。回顾过去的一些关键的AR产品&…...

mysql倒库操作遇到的问题

背景:本地windows 10安装了mysql数据库后,需要把远程库的表结构和数据全部导入进来。 操作:导出数据库,导入数据库。 第一步:导出数据库 使用dump命令即可。 登陆mysql数据库 mysql -hhost --default-character-s…...

ELK企业级日志分析系统

ELK概述 为什么要使用 ELK 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 …...

华为OD机试真题 Java 实现【基站维修工程师】【2023Q1 200分】,附详细解题思路

一、题目描述 小王是一名基站维护工程师,负责某区域的基站维护。 某地方有n个基站(1<n<10),已知各基站之间的距离s(0<s<500),并且基站x到基站y的距离,与基站y到基站x的距离并不一定会相同。 小王从基站1出发,途径每个基站1次,然后返回基站1,需要请你…...

SSM 如何使用 TCC 机制实现分布式事务?

SSM 如何使用 TCC 机制实现分布式事务&#xff1f; 分布式事务是现代分布式系统中必不可少的一部分&#xff0c;而 TCC 机制&#xff08;Try-Confirm-Cancel&#xff09;是一种常用的分布式事务处理方式。在 SSM 框架中&#xff0c;我们可以使用 TCC 机制来管理分布式事务。本…...

如何在上架App之前设置证书并上传应用

App上架教程 在上架App之前想要进行真机测试的同学&#xff0c;请查看《iOS- 最全的真机测试教程》&#xff0c;里面包含如何让多台电脑同时上架App和真机调试。 P12文件的使用详解 注意&#xff1a; 同样可以在Build Setting 的sign中设置证书&#xff0c;但是有点麻烦&…...

华清远见 day04

break 打破循环,再也不执行 continue 跳出本次循环,继续执行下一次循环; ​ 常量 字面常量 宏常量 #define A 100 //定义一个宏常量, 名为:A 值为:100 位置 在 头文件 下面 ,文件开头 ​ ​ 输入时间秒 得到 小时 分钟 秒的时间输出 用到 三运算符; 宏常量 Mi 是60 t1 /Mi>6…...

如何处理Vue应用程序中的错误和异常情况?

处理Vue应用程序中的错误和异常情况是开发中非常重要的一环&#xff0c;但是对于新手来说&#xff0c;这往往是一个比较棘手的问题。不过别担心&#xff0c;下面我将为大家详细解答。 首先&#xff0c;我们需要知道的是&#xff0c;在Vue中&#xff0c;错误和异常情况是两个不…...

javascript基础十六:Ajax 原理是什么?如何实现?

一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML&#xff0c;是一种创建交互式网页应用的网页开发技术&#xff0c;可以在不重新加载整个网页的情况下&#xff0c;与服务器交换数据&#xff0c;并且更新部分网页 Ajax的原理简单来说通过XmlHttpRequ…...

大话手游原始服务端搭建教程Centos

大话手游原始服务端搭建教程Centos 大家好&#xff0c;我是艾西&#xff0c;今天给大家分享一款回合制的ARPG大话手游搭建教程。游戏场景、精美的画面以及多元的人物做的非常棒。在游戏中可以穿越神话世界&#xff0c;同时也可以结交好友&#xff0c;加入团队&#xff0c;共同…...

C语言中的通用工具库stdlib.h

目录 1、malloc和free&#xff1a;用于动态内存分配和释放。 2、atoi和atof&#xff1a;用于将字符串转换为整数或浮点数。 3、rand和srand&#xff1a;用于生成随机数和设置随机数种子。 4、system&#xff1a;用于执行系统命令。 5、exit&#xff1a;用于退出程序。 6、…...

优化带排序的分页查询

优化带排序的分页查询 浅分页&#xff1a; select user_no,user_name,socre from student order by score desc limit 5,20 深分页&#xff1a; select user_no,user_name,socre from student order by score desc limit 80000,20 因为偏移量深分页更大&#xff0c;所以深分页执…...

chatgpt赋能python:Python如何删除空白

Python 如何删除空白 在SEO优化过程中&#xff0c;我们需要保证我们的网页内容的质量和可读性。其中&#xff0c;一个重要的因素是删除空白。在Python中&#xff0c;我们可以使用多种方法来删除空白&#xff0c;下面我们将介绍一些方法并讨论它们的优缺点。 方法一&#xff1…...

[论文阅读] Explicit Visual Prompting for Low-Level Structure Segmentations

[论文地址] [代码] [CVPR 23] Abstract 我们考虑了检测图像中低层次结构的通用问题&#xff0c;其中包括分割被操纵的部分&#xff0c;识别失焦像素&#xff0c;分离阴影区域&#xff0c;以及检测隐藏的物体。每个问题通常都有一个特定领域的解决方案&#xff0c;我们表明&am…...

swagger在spring项目中的使用

一、Swagger2介绍 前后端分离开发模式中&#xff0c;api文档是最好的沟通方式。 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 及时性 (接口变更后&#xff0c;能够及时准确地通知相关前后端开发人员)规范性 (并且保…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...

shell脚本质数判断

shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数&#xff09;shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数&#xff09; 思路&#xff1a; 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...

Qt Quick Controls模块功能及架构

Qt Quick Controls是Qt Quick的一个附加模块&#xff0c;提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中&#xff0c;这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构&#xff0c;与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...