当前位置: 首页 > 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. 知识块

二级知识块

http://www.lryc.cn/news/30367.html

相关文章:

  • C++的双端队列
  • 【独家】华为OD机试 - 拼接 URL(C 语言解题)
  • 为什么使用Junit单元测试?Junit的详解
  • 怎么学好嵌入式Linux系统和驱动
  • Spring Aware总结
  • 【RocketMQ】源码详解:Broker端消息刷盘流程
  • 编码器SIQ-02FVS3驱动
  • 【2021.9.7】记一次exe手动添加shellcode
  • 常用训练tricks,提升你模型的鲁棒性
  • 具有精密内部基准的 DACx0502 简介及驱动应用示例
  • C语言函数:字符串函数及模拟实现strncpy()、strncat()、strncmp()
  • 学术论文插图要求简介
  • 【独家】华为OD机试 - 斗地主 2(C 语言解题)
  • 力扣-计算特殊奖金
  • 华为校招机试真题目录
  • EdgeYOLO学习笔记
  • 【分布式】什么是分布式锁?正文揭晓
  • 超详细JDK1.8所有版本下载地址
  • 论文解析[11] CAT: Cross Attention in Vision Transformer
  • 嵌入式和Python(一):python环境搭建的详细步骤
  • 嵌入式学习笔记——STM32硬件基础知识
  • Mybatis插件开发及执行原理
  • vue父子组件通信,兄弟组件通信
  • 大数据技术之Hadoop集群配置
  • MicroBlaze系列教程(7):AXI_SPI的使用(M25P16)
  • 使用Python通过拉马努金公式快速求π
  • 第六章 使用系统类提供国家语言支持 - 创建自定义语言环境
  • 「题解」解决二进制数中1的个数
  • 泛型详解.
  • Vue 3.0 响应性 深入响应性原理 【Vue3 从零开始】