热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

找一找马里奥第14届蓝桥杯STEMA测评Scratch真题精选

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

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

蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多文化教育研究中心合作推出的考试项目。STEM能力测试致力于综合评价学生的 STEM 水平,对学生的科技素养、逻辑思维和编程能力等三方面进行客观科学的测试。

找一找马里奥,本题是2023年3月12日举行的第14届蓝桥杯STEMA考试Scratch图形化编程真题初/中级组编程部分第3题。题目要求编程实现找一找马里奥游戏,在黑暗模式下移动鼠标找到在舞台上移动的马里奥。

先来看看题目的要求吧。

一.题目说明

编程实现:

找一找。

具体要求:

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

2). 马里奥在舞台中心向随机方向持续移动,当碰到舞台边缘时反弹(旋转方式为左右翻转);

3). 按下空格键,舞台灯光关闭进入黑暗模式并出现追光灯的圆形照射区域,追光灯的圆形照射区域持续跟随鼠标移动(黑暗模式和追光灯的圆形照射区域,请自行创建且追光灯的圆形照射区域大小如下图所示);

4). 当追光灯的圆形照射区域中出现移动的马里奥,用鼠标点击马里奥,马里奥立刻停止移动,此时开启舞台灯光,左下角的数字变为1,程序结束。

评判标准:

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

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

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

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


二.思路分析

本题提供了两个角色,分别是马里奥和数字,如图所示:

根据题目描述,还需要自行绘制一个追光灯角色,追光灯是一个黑色的矩形,大小要能够完全覆盖舞台区域,同时要漏出一个圆形透明区域。

因此,本作品一共有3个角色,各角色的功能如下:

  • 马里奥在舞台上随机移动

  • 追光灯随鼠标移动

  • 数字开始为0,找到马里奥后变成1

默认情况下,舞台呈现灯光模式,当按下空格键后进入黑暗模式,所谓的黑暗模式就是将追光灯角色显示出来。

本作品的难点在于追光灯角色的绘制,需要结合圆形工具和橡皮擦功能,绘制过程大致可以分为以下5步:

第1步,选择绘制角色,进入造型绘制界面,如图所示:

第2步,先绘制一个黑色的矩形,如图所示:

注意,矩形不需要太大,等擦除一个透明区域后再放大。

第3步,使用橡皮擦进行擦除,漏出一个圆形透明区域,如图:

注意,橡皮擦最大只能设置为100,这就是为什么先绘制一个小矩形的原因。

第4步,将图形转换为位图模式,再转换为矢量图模式。

第5步,放大黑色矩形区域,覆盖整个造型区域,如图:

将角色设置为200或者更大的数值即可,但实际上由于角色太大,往往无法设置更大的值。

需要说明的是,不同的Scratch版本绘制的效果略有不同,为了得到更高的效果,建议做两次转换,也就是上面的第4步,先转成矢量图,再转成位图,然后放大。

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

三.编程实现

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

  • 马里奥角色

  • 追光灯角色

  • 数字角色

1. 马里奥角色

点击绿旗时,马里奥角色位于舞台中心,然后面向随机方向开始移动,当碰到舞台边缘时反弹,在黑暗模式下,如果点击马里奥,则停止运动,在马里奥角色中编写代码如下:

说明两点:

1). 随机方向的标准范围是-180到180,写成0到360也是可以的,因为Scratch会进行自动转换;

2). 当马里奥停止移动后,发送了一个”找到啦“的广播消息。

2. 追光灯角色

默认情况下,追光灯处于隐藏状态,当按下空格键后显示,并跟随鼠标移动,当找到马里奥后隐藏起来,对应的代码如图所示:

这里有一个细节需要注意,在正式考试时,是有视频文件的,考生可以通过播放视频预览作品效果。

其中追光灯在出现的时候,是逐渐显示的,这可以通过虚像特效来实现,虚像特效是指角色的透明度,虚像为0时,角色正常显示,当虚像为100则完全透明,我们也就看不见了。

3. 数字角色

数字角色非常简单,开始显示0,找打马里奥后显示1,对应的代码如下:

至此,我们的找一找马里奥小游戏就创作好了。

四.总结与思考

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

  • 运动编程,包括旋转模式、方向设置和反弹运动;

  • 外观编程,包括显示、隐藏、切换造型和虚像特效;

  • 循环编程,包括重复10次、无限重复和重复执行直到三种不同的循环;

  • 随机数指令;

  • 事件广播机制;

  • 角色点击和按下空格的检测。

如果仅从代码层面来看,本题属于简单题目,由于需要考生自行绘制角色,无形之中增加了题目的难度,一部分考生由于不熟悉Scratch角色绘制工具和技巧,导致没能做出追光灯效果。

这就是STEM测评的考试特点,在考察知识点的同时,还考察了孩子的自主探索能力,如果孩子平时喜欢摸索,在编程创作时自己绘制各种角色,这道题就非常简单了。

不知道你发现了没,针对上面的程序,如果没有打开追光灯,直接点击马里奥,数字也会从0变为1,同时结束程序。由于题目并没有严格要求必须先打开追光灯,所以这么写是可以的,如果要保证在开启追光灯之后才能点击马里奥,该怎么做呢,这就算是留给你的思考题吧。

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

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


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
author-avatar
mobiledu2502859427
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有