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

【电子学会】2022年12月图形化二级 -- 老鹰捉小鸡

老鹰捉小鸡

小鸡正在农场上玩耍,突然从远处飞来一只老鹰,小鸡要快速回到鸡舍中,躲避老鹰的抓捕。

1. 准备工作

(1)删除默认白色背景,添加背景Farm;

(2)删除默认角色小猫,添加角色Chick、Griffin。

2. 功能实现

(1)角色的初始位置和方向如下图所示;

(2)老鹰不断向右下移动,碰到边缘就反弹,不能倒立;

(3)用上、下、左、右键,控制小鸡朝上下左右四个不同的方向移动,不能倒立;

(4)老鹰碰到小鸡后,老鹰会说“我抓住你了!” 2秒,停止全部脚本;

(5)小鸡走进鸡舍后,会说“我安全啦!”2秒,然后消失,停止全部脚本。

3. 设计思路与实现

(1)角色分析

角色:Chick、Griffin

(2)背景分析

背景:Farm

(3)所用积木块介绍

a. 运动类

  • 角色移动指定的步数,正数就是向前,负数就是向后。

  • 将角色移动到舞台中指定的X/Y坐标位置,默认坐标(x:0, y:0)。
  • x的范围(-240, 240);y的范围(-180, 180)。

  • 将角色朝向某个指定的方向。
  • 通常用作控制角色在舞台中的上下左右朝向。即0朝上,90朝右(默认),180朝下,-90朝左。

  • 角色碰到边缘后就往回走。

  • 设定角色旋转方式为“左右翻转”,下拉可选“不可旋转”,“任意旋转”。
  • 这三种旋转方式区别在于:左右翻转(正常转向后角色上下结构不变),不可旋转(不能进行旋转),任意旋转(转向后上下颠倒,Scratch默认旋转方式)。

b. 外观类

  • 在规定的时间内在舞台上显示输入的文字(说话云朵)。

  • 将角色的大小调整为指定的值。
  • 该积木块通常在角色初始化时使用。

  • 在舞台中显示当前角色。

  • 在舞台中隐藏当前角色。

c. 事件类

  • 程序开始积木块。
  • 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。

d. 控制类

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 重复执行模块里面的积木指令,相当于一个死循环,永不停止,除非在某个地方结束脚本。

  • 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环。

  • 将所有的角色和背景的脚本停止执行,下拉倒三角还可以选择“停止当前角色的其它脚本”和“这个脚本”。

e. 侦测类

  • 检测是否碰到指定的颜色,如果是返回bool值“真”,否则返回bool值“假”。

  • 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘。

  • 侦测是否按下了键盘的某个按键,获取一个为真或假的布尔值。
  • 通过下拉三角可以选择空格键、方向键、任意键、字母键和数字键。

(4)角色、舞台背景设置

a. 角色设置

我们删除默认的角色小猫,在角色仓库中选择题目要求的角色“Chick”、“Griffin”。

b. 舞台背景设置

我们按照题目的要求选择舞台背景“Farm”。

按照题目要求删除默认白色背景。

(5)脚本编写

编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。

a. 角色:Griffin

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始化大小:60
  3. 初始化位置:X = -7,Y = 103。
  4. 旋转方式:左右翻转。(老鹰不能倒立)
  5. 初始化方向:135°。(老鹰不断向右下移动)
  6. 重复执行直到 碰到Chick:
    • 移动5步。
    • 碰到边缘就反弹。(老鹰不断向右下移动,碰到边缘就反弹)
  7. 说“我抓住你了”,2秒。(老鹰碰到小鸡后,老鹰会说“我抓住你了!” 2秒,停止全部脚本。)

b. 角色:Chick

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X = 191,Y = -134。
  3. 旋转方式:左右翻转。
  4. 初始方向:-90°。
  5. 重复执行:(用上、下、左、右键,控制小鸡朝上下左右四个不同的方向移动,不能倒立)
    • 如果按下“向上”键:设置旋转方式为“任意旋转”,面向0°方向,移动10步。
    • 如果按下“向下”键:设置旋转方式为“任意旋转”,面向180°方向,移动10步。
    • 如果按下“向左”键:设置旋转方式为“左右翻转”,面向-90°方向,移动10步。
    • 如果按下“向右”键:设置旋转方式为“左右翻转”,面向90°方向,移动10步。

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始状态:显示
  3. 重复执行:(小鸡走进鸡舍后,会说“我安全啦!”2秒,然后消失,停止全部脚本。)
    • 如果碰到黑色,说“我安全了”,2秒,隐藏,停止全部脚本。

4. 评分标准

(1)背景和角色添加正确(1分);

(2)点击绿旗后,角色的初始位置正确(1分),方向正确(1分),老鹰不断移动,旋转方式正确,碰到边缘反弹(2分);

(3)按下上、下、左、右键可以让小鸡朝上下左右不同方向移动(2分),旋转方式正确(1分);

(4)老鹰碰到小鸡后,说出“我抓住你了!”(2分),停止全部脚本(1分);

(5)小鸡碰到鸡舍黑色部分后,说出“我安全啦!”(2分),隐藏(1分),停止全部脚本(1分)。

5. 知识块

二级知识块

相关文章:

【电子学会】2022年12月图形化二级 -- 老鹰捉小鸡

老鹰捉小鸡 小鸡正在农场上玩耍,突然从远处飞来一只老鹰,小鸡要快速回到鸡舍中,躲避老鹰的抓捕。 1. 准备工作 (1)删除默认白色背景,添加背景Farm; (2)删除默认角色小…...

C++的双端队列

双端队列介绍1.双端队列知识需知2.大试牛刀1.双端队列知识需知 由于队列是一种先进先出(FIFO)的数据结构,因此无法直接从队列的底部删除元素。如果希望从队列的底部删除元素,可以考虑使用双端队列(deque)。…...

【独家】华为OD机试 - 拼接 URL(C 语言解题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...

为什么使用Junit单元测试?Junit的详解

Hi I’m Shendi 为什么使用Junit单元测试?Junit的详解 Junit简介 Junit是一个Java语言的单元测试框架。 单元测试是一个对单一实体(类或方法)的测试 JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression test…...

怎么学好嵌入式Linux系统和驱动

嵌入式专业是一门实践性非常强的学科,只有多动手,多实践,多编程,多调试,多看书,多思考才能真正掌握好嵌入式开发技术。 现在很多同学也意识到了学校培养模式和社会需求脱节问题,有一部分同学也先…...

Spring Aware总结

概述 Spring中Aware到底是什么意思? 我们在看Spring源码的时候,经常可以看到xxxAwarexxx的身影,通常我会很疑惑,Aware到底是什么意思呢? 比如图片中这些包含Aware关键字的类或者接口。 我对下面3个类或接口进行了解…...

【RocketMQ】源码详解:Broker端消息刷盘流程

消息刷盘 同步入口:org.apache.rocketmq.store.CommitLog.GroupCommitService 异步入口:org.apache.rocketmq.store.CommitLog.FlushRealTimeService 刷盘有同步和异步两种,在实例化Commitlog的时候,会根据配置创建不同的服务 p…...

编码器SIQ-02FVS3驱动

一.简介 此编码器可以是功能非常强大,可以检测左右转动,和按键按下,所以说这一个编码器可以抵三个按键,而且体积非常小,使用起来比三个按键要高大尚,而且驱动也简单。唯一不足的点就是价格有点小贵6-8元才…...

【2021.9.7】记一次exe手动添加shellcode

【2021.9.7】记一次exe手动添加shellcode 文章目录【2021.9.7】记一次exe手动添加shellcode0.大致思路1.获取MessageBox的真实地址VA2.通过OD在代码段添加shellcode3.dump出数据,设置程序OEP4.测试dump出来的exe5.方法总结测试的exe和添加了shellcode的exe:链接&…...

常用训练tricks,提升你模型的鲁棒性

目录一、对抗训练FGM(Fast Gradient Method): ICLR2017代码实现二、权值平均1.指数移动平均(Exponential Moving Average,EMA)为什么EMA会有效?代码实现2. 随机权值平均(Stochastic Weight Averaging,SWA&a…...

具有精密内部基准的 DACx0502 简介及驱动应用示例

DACx0502 说明 16 位 DAC80502、14 位 DAC70502 和 12 位DAC60502 (DACx0502) 数模转换器 (DAC) 均为具有电压输出的高精度、低功耗器件。 DACx0502 线性度小于 1LSB。凭借高精度和微型封装特性,DACx0502 非常适合以下 应用: 增益和失调电压校准、电流…...

C语言函数:字符串函数及模拟实现strncpy()、strncat()、strncmp()

C语言函数:字符串函数及模拟实现strncpy()、strncat()、strncmp() 在了解strncpy、strncat()、前,需要先了解strcpy()、strncat(): C语言函数:字符串函数及模拟实现strlen() 、strcpy()、 strcat()_srhqwe的博客-CSDN博客 strncp…...

学术论文插图要求简介

1. 类型 位图和矢量图是两种不同的图像类型,它们在存储和处理图像时使用不同的方法。以下是它们之间的详细区别: 图像构成方式:位图使用像素(或图像的最小单元)来构建图像,每个像素都有自己的颜色和亮度值。…...

【独家】华为OD机试 - 斗地主 2(C 语言解题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...

力扣-计算特殊奖金

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1873. 计算特殊奖金二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总…...

华为校招机试真题目录

专栏介绍 本专栏将逐步收集历年华为校招算法真题 专栏权益 每篇博客都包含: 算法考点解析(文字+画图)算法源码(支持 Java / JS / Python)每晚9:00 ~ 11:00 在线答疑 真题目录 时间题目考点 or 实现2022.11.27...

EdgeYOLO学习笔记

EdgeYOLO学习笔记 EdgeYOLO: An Edge-Real-Time Object Detector Abstract 本文基于最先进的YOLO框架,提出了一种高效、低复杂度、无锚的目标检测器,该检测器可以在边缘计算平台上实时实现。为了有效抑制训练过程中的过拟合,我们开发了一种…...

【分布式】什么是分布式锁?正文揭晓

分布式锁的概念 分布式锁其实可以理解为:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性。 举个例子:假设共享的资源就是一个房子,里面有各种书,分布式系统就是要进屋看书的人, 分布式锁…...

超详细JDK1.8所有版本下载地址

JDK1.8即为JDK8,JDK8是目前是最成熟最稳定的版本,本文将详细介绍JDK1.8历史版本的下载方式。 在此附上JDK1.8安装与配置教程 超详细JDK1.8安装与配置 一、JDK官网 首先打开oracle官网,官网首页地址为 JDK官网首页地址 点击Products 点击…...

论文解析[11] CAT: Cross Attention in Vision Transformer

发表时间:2021 论文地址:https://arxiv.org/abs/2106.05786v1 文章目录摘要3 方法3.1 总体结构3.1.1 Inner-Patch Self-Attention Block3.1.2 Cross-Patch Self-Attention Block3.1.3 Cross Attention based Transformer结论摘要 使用图像patch来替换tr…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...