听话的苹果-第11届蓝桥杯Scratch选拔赛真题精选

news/2024/4/29 5:46:13/文章来源:https://blog.csdn.net/diamondwang2012/article/details/128202589

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第96讲。

蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。

第11届蓝桥杯青少年组第4次选拔赛于2019年12月15日举行,形式为线下考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

听话的苹果,本题是2019年12月15日举行的第11届蓝桥杯Scratch地区选拔赛真题编程第4题,题目要求编程创作听话的苹果游戏,在玩家输入指令后,苹果会按照指令进行上下左右移动。

先来看看题目的要求吧。

一.题目说明

编程实现:

1). 本程序只有一个苹果角色,并且舞台为空白背景。如图:

2). 先用边长为60的正方形填满整个舞台(用程序完成,不是使用舞台背景绘制);

3). 画完后,苹果回到舞台中心,然后询问:“输入指令(上下左右)”;

4). 在输入框输入指令(指令可以是1个或多个),输入完毕后按回车键提交,苹果会按照指令的方向依次移动,每次移动都要移到下一个交点上,瞬移,每走完一次要等待1秒,如图所示:

5). 苹果按指令走完整个路程后,会发出下一次询问,输入并提交后可再次移动;

6). 需要注意的是:如果遇到“上下左右”以外的其它内容,苹果不移动,说“无效”(1秒);

例如:输入“下6左A”,则苹果向下移动一格等待1秒,然后不移动同时说“无效”(1秒),然后向左移动一格等待1秒,然后说“无效”(1秒)原地静止。

7). 苹果不能超出屏幕边界,否则会说“超出范围,游戏停止!”,然后程序结束。

例如:程序一开始就输入:“上上上上”则苹果会依次向上移动3格,在移动第4次的时候,苹果移到边界外,说“超出范围,游戏停止!”1秒,然后程序结束。

将程序保存在桌面,命名为“4.sb2”。

评判标准:

  • 30分:运行程序,苹果先画出如图所示的网格,然后回到舞台中心,屏幕下方出现指令输入提示框;

  • 30分:输入指令后,苹果能做出相应的处理。从第一位开始依次判断:正确则移动,错误则提示“无效”且原地静止;

  • 40分:当超出边界,出现文字提示“超出范围,游戏停止”并结束游戏。

二.思路分析

本题只有1个苹果角色,来自于Scratch自带的角色库。需要完成的功能主要有两个,一是绘制网格,二是让苹果按指令移动。

绘制网格需要用到画笔模块,每一个网格都是60*60的小正方形,Scratch舞台大小为480*360,所以在水平方向上有8个小正方形,垂直方向上有6个小正方形。绘制方法有两种,一是逐个绘制小正方形,二是直接绘制直线,水平方向画7条直线,垂直方向画5条直线即可。

让苹果按指令移动比较简单,重点是如何从用户输入的回答中取出指令,这需要使用字符串运算结合循环逐个取出每一个指令。

由于这里只有一个角色,如果把所有的代码都写在绿旗下面,代码会显得比较长,我们可以使用自制积木对程序进行拆分,从而让代码结构更加清晰。

三.编程实现

根据题目描述和思路分析,我们可以分两步来编写程序:

  • 绘制网格

  • 苹果按指令移动

1. 绘制网格

根据思路分析,我们使用自制积木来绘制网格,绘制的思路也比较简单,先绘制5条水平方向上的直线,再绘制7条垂直方向上的直线,代码如图所示:

需要注意的是落笔和抬笔的时机,确保没有多余的线段。如果想瞬间绘制好网格,可以在定义自制积木的时候勾选”运行时不刷新屏幕“,如图:

然后在绿旗指令中使用自制积木,如图所示:

执行程序,绘制的网格效果如下:

2. 苹果按指令移动

接下来, 苹果角色开始询问了,然后等待玩家输入指令,当玩家回答之后,我们就可以使用循环逐个取出每个指令,这部分代码如下:

简单说明两点:

1). 角色到底往哪个方向移动,这里使用了自制积木,稍后再介绍;

2). 要正确的理解”苹果不能超出屏幕边界“的意思,很多同学首先会想到直接使用”碰到舞台边缘“来进行判断,请注意第7条中的描述,当输入“上上上上”指令,苹果会依次向上移动3格,在移动第4次的时候,苹果移到边界外,说“超出范围,游戏停止!”1秒,然后程序结束。这说明苹果可以碰到舞台边缘,只是不能移动到舞台外面去,所以这里判断的是x和y有没有超出舞台边界。

上下左右移动”的自制积木定义如下:

这里使用了条件嵌套结构,当指令为左、右、上、下时,就分别向对应方向移动60步,否则就停在原地不动,并提示“无效”。

当前的代码只能处理一次输入,如果要继续下一次询问和移动,可以加上重复执行,代码如下:

至此,整个作品就创作完成了,你可以把玩一下,看看苹果是不是真的听话。

四.总结与思考

本题难度系数为7,积木块数量70个左右 ,涉及到的知识点主要包括:

  • Scratch绘制图形;

  • 自制积木的使用;

  • Scratch问答指令;

  • 使用循环结合字符串运算遍历 ;

  • 运算符的运用,包括比较运算、字符串运算和逻辑运算;

  • 条件语句的多层嵌套。

本题难度较大,综合性较强,涉及到的知识点比较多,这里的难点是字符串的遍历操作,这需要结合循环、变量、字符串运算等知识点。要在规定的时间里完成创作,需要考生具备深厚的编程功底。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

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

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

相关文章

c++还原简单的vector

文章目录vectorvecotor的介绍vector的模拟实现类的框架成员变量迭代器构造函数析构函数size()capacity()operator[]重载扩容resize()尾插验证是否为空尾删clear 清除swap交换insert插入erase删除迭代器区间初始化构造函数拷贝构造赋值运算符重载n个val构造函数再谈构造函数vect…

m基于遗传优化的复杂工序调度matlab仿真,输出甘特图和优化收敛图

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 遗传算法 (Genetic Algorithm,GA) 是一种基于规律进化的随机优化搜索算法,该算法最早是由Holland在1975年提出的。遗传算法的主要优势是通过对目标对象进行优化操作&#…

三面:请设计一个虚拟DOM算法吧

一、问题剖析 这不是前几天面试官开局面试官就让我设计一个路由,二面过了,结果今天来个三面。 问你道简单的送分题:设计一个虚拟DOM算法? 好家伙,来吧,先进行问题剖析,谁让我们是卑微的打工人…

数据存储,详细讲解

✨数据存储,详细讲解💜数据类型的介绍:💙整形的内存存储大小端介绍:💛浮点数的存储💜数据类型的介绍: 1.内置类型: char //字符数据类型(1&#xff…

POI在指定excel插入行java

我想在第三行&#xff0c;插入数据库的数据&#xff0c;这里假如数据库有10条&#xff0c;并且继承第二行的格式 数据库数据 {"clark",25}&#xff0c;我写个json对象&#xff0c;10条这个 造数据代码 JSONArray jsonArray new JSONArray();for (int i 0; i <…

Azkaban登录分析

分析意义:目前azkaban采用的是azkaban-users.xml配置文件的方式,配置登录用户。如果公司需要二次开发,增加安全性和便捷性,想从数据库取值呢,该如何着手开发呢?本文分析登录过程,便于进行azkaban的二次登录开发。 1、登录请求地址,请求方式和参数 请求地址:http://x…

计讯物联数字乡村解决方案全力助推三农信息化建设

​2020年&#xff0c;中央网信办等七部门联合印发《关于开展国家数字乡村试点工作的通知》。《通知》提出&#xff0c;做好数字乡村发展整体规划设计&#xff0c;统筹推进乡村的新型基础设施、数字经济、数字农业农村、农村科技创新、乡村数字治理、信息惠民服务等建设和发展。…

TF卡格式化了怎么办?tf卡数据恢复,看这3个方法

现在手机存储卡都很普及&#xff0c;TF卡是最常见的存储卡之一。但是你知道吗&#xff1f;TF卡也会有问题&#xff0c;比如出现误删数据&#xff0c;或者把数据格式化。因为手机内存有限&#xff0c;我们经常会把 TF卡设置为默认的最大空间&#xff0c;这样就可能会出现存储空间…

中国书画院院士、著名画家——戴友

戴友 戴友 中国书画院院士、著名画家 广州美术学院国画系毕业的专业画家 师从著名国画大家关山月、黎雄才、方楚雄、周波 艺术简介 戴友&#xff0c;著名画家、中国书画院院士。1960年生于广东&#xff0c;江苏省溧阳市人&#xff0c;汉族。自幼自学绘画&#xff0c;1991年…

DolphinDB 诚挚招募实施伙伴

随着 DolphinDB 业务发展&#xff0c;为满足迅速增长的客户需求&#xff0c;我们现正式启动“实施伙伴招募计划”。DolphinDB 客户已经涵盖7家Top 10券商、头部公募及私募基金、知名银行、交易所、世界500强制造业客户、标杆能源企业等&#xff0c;我们非常期待和欢迎实施伙伴们…

【C语言程序设计】实验 3

目录 1. 水仙花数 2. 五位回文数 3. 输入x&#xff0c;计算y 4. 百分制改为等级制 5. 同构数 6. 月份天数 7. 加一天后日期&#xff08;条件&#xff09; 8. 计算服装款&#xff08;条件&#xff09; 1. 水仙花数 【问题描述】输入一个3位正整数&#xff0c;判断该…

精彩数据:2021年我国民旅客周转量6530亿公里,审定受理飞机2803架

2021年是特殊的一年&#xff0c;全体民航成员在努力克服疫情防控、经营亏损、安全压力等困难交织叠加的影响下&#xff0c;切实的推动了民航的高质量发展&#xff0c;再各项工作上都取得了较好的成绩。下面是小编使用可视化互动平台对民航发展统计报告进行报表数据处理分析后得…

Word控件Spire.Doc 【图像形状】教程(12) 如何在C#中旋转word文档上的形状

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

C#学习记录——.NET Framework的组成及C#程序的执行过程

『好好学习&#xff0c;天天向上。』—— 毛主席语录 .NET Framework的组成 .NET Framework 是由微软公司推出的一种完全面向对象的软件开发平台&#xff0c;它主要由两个组件构成&#xff0c;分别为公共语言运行库&#xff08;CLR&#xff09;和.NET Framework类库&#xff…

深度学习-第P1周——实现mnist手写数字识别

深度学习-第P1周——实现mnist手写数字识深度学习-第P1周——实现mnist手写数字识一、前言二、我的环境三、前期工作1、导入依赖项并设置GPU2、导入数据集3、数据可视化四、构建简单的CNN网络五、训练模型1、设置超参数2、编写训练函数3、编写测试函数4、正式训练六、结果可视化…

机器学习与深度学习的基本概念

目录 机器学习是什么&#xff1f; 机器学习的任务 回归Regression 分类Classification 创造学习Structed Learing 机器学习怎么找这个函数 定义含未知参数的函数 定义loss损失函数 定义优化器optimization 写出一个更复杂的有未知参数的函数 sigmoid 基本推理过程 si…

一套Altair Feko复杂结构模型散射和天线辐射仿真建模攻略

导读&#xff1a;Feko软件广泛应用于电磁散射、电磁辐射仿真&#xff0c;例如&#xff1a;天线、天线布局、天线罩、屏蔽效能、电磁散射、频选结构、线束EMC等方面。问题种类繁多&#xff0c;但是无论仿真哪一类问题&#xff0c;其仿真流程是相同的&#xff0c;我们只需掌握了这…

使用 Echarts 插件完成中国旅游地图

目录前言&#xff1a;什么是 Echarts 插件具体实现思路中国旅游地图成品展示步骤&#xff1a;完成中国旅游地图代码总结&#xff1a;前言&#xff1a; 大家都知道&#xff0c;一般情况下&#xff0c;想要使用前端设置一个 中国旅游地图 需要使用 canvas 画布进行编写&#xff…

基于ARM架构openEuler系统通过qemu模拟器自动安装启动ARM架构的openEuler虚拟机

【原文链接】基于ARM架构openEuler系统通过qemu模拟器自动安装启动ARM架构的openEuler虚拟机 文章目录一、基础准备工作二、自动创建基于dhcp自动获取ip地址的openEuler虚拟机三、自动创建配置静态IP地址的openEuler虚拟一、基础准备工作 &#xff08;1&#xff09;下载ARM架构…

[附源码]Python计算机毕业设计Django校园订餐系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…