热门标签 | 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,或者联系本人。


推荐阅读
  • 如何配置VisualSVN以确保提交时必须填写日志信息
    在软件开发团队中,成员们有时会忘记在提交代码时添加必要的备注信息。为了规范这一流程,可以通过配置VisualSVN来强制要求团队成员在提交文件时填写日志信息。本文将详细介绍如何设置这一功能。 ... [详细]
  • 本文介绍了如何使用Adobe Photoshop将图片调整为800x800像素,并确保图片清晰度不受影响,特别适合用于制作淘宝主图。无论是原始图片大于或小于800x800像素,都能通过以下步骤轻松完成。 ... [详细]
  • ThinkPHP RBAC 实战:登录验证详解
    本文将详细介绍 ThinkPHP 框架中的 RBAC(角色基础访问控制)系统,特别是登录验证部分。我们将通过实际代码示例,展示如何实现用户登录验证、验证码生成及验证、以及登录后的权限管理。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • Java 8 开发环境搭建指南
    本文详细介绍了如何在 Windows 系统上搭建 Java 8 开发环境,包括 JDK 的下载、安装以及环境变量的配置。同时,还提供了 Eclipse IDE 的下载和安装步骤。 ... [详细]
  • iOS 不定参数 详解 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • macOS SwiftUI 组件之 实用下拉菜单 (教程含源码)
    macOS SwiftUI 组件之 实用下拉菜单 (教程含源码) ... [详细]
  • 无论是在迁移到云服务还是更换云服务商的过程中,数据迁移都是一个至关重要的环节。本文将探讨数据迁移中可能遇到的问题及解决方案,包括路径问题、速度问题和数据完整性等。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • WCF类型共享的最佳实践
    在使用WCF服务时,经常会遇到同一个实体类型在不同服务中被生成为不同版本的问题。本文将介绍几种有效的类型共享方法,以解决这一常见问题。 ... [详细]
  • Docker 环境下 MySQL 双主同步配置指南
    本文介绍了如何在 Docker 环境中配置 MySQL 的双主同步,包括目录结构的创建、配置文件的编写、容器的创建与设置以及最终的验证步骤。 ... [详细]
  • Visual Studio 2019 安装指南
    作为一名拥有三年经验的程序员,由于长期专注于C语言,我意识到自己的技术栈过于单一。在转型为Android驱动开发工程师后,这种局限性更加明显。本文将介绍如何安装Visual Studio 2019,并配置C++开发环境,以帮助读者拓宽技术视野。 ... [详细]
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社区 版权所有