【电子学会】2023年03月图形化三级 -- 猫猫的儿童节

news2024/12/25 9:16:49

猫猫的儿童节

儿童节到了,给小猫绘制一个七彩的气球。

1. 准备工作

(1)保留小猫角色;

(2)选择“Button2”角色,添加文字“开始”;

(3)默认白色背景。

2. 功能实现

(1)点击绿旗,小猫显示在舞台上,大小为60,初始位置为(x:0,y:40),设置画笔颜色为红色,画笔粗细为3;

(2)点击“开始”按钮,发送“开始”消息;

(3)当小猫接收到“开始”消息,绘制一个颜色逐渐变化的圆形,圆形大小自定义,不超出舞台边缘;

(4)圆形画完后,向下绘制一条蓝色直线作为气球绳,直线长短自定义;

(5)使用图章绘制小猫图案,然后隐藏角色,注意小猫图案不要超出舞台边缘。

3. 设计思路与实现

(1)角色分析

角色:小猫,Button2

(2)背景分析

背景:默认白色背景

(3)所用积木块介绍

a. 运动类

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

  • 将角色向左旋转指定的角度。

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

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

  • 如果增加的是正数,则在原先角色的位置上往上移动对应的数值;如果增加的是负数,则在原先角色的位置上往下移动对应的数值。即实现上下移动的功能。

b. 外观类

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

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

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

c. 事件类

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

  • 当角色被点击时,执行后面的程序指令。

  • 消息事件启动积木块,消息是脚本之间、角色之间、舞台与角色之间沟通的重要通道。
  • 当接收到消息时,执行后面的程序指令。

  • 广播一个消息,消息可以新建,数量也不限制,不同的消息可以用于不同的场合。

d. 控制类

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。

e. 画笔

  • 清除舞台中画笔绘制的所有图案。

  • 将角色对象像印章一样印在舞台区上。
  • 印出来的角色是不能进行任何操作的,只能够利用全部擦除指令清除掉。

  • 将画笔放置于舞台上(好比我们用笔画画的时候将画笔笔尖放在纸张上准备绘画)。
  • 落笔画出运动轨迹。
  • 轨迹是从中心点绘制出来的。

  • 将画笔从舞台上提起来(好比我们画好图形了,把画笔收起来)。
  • 默认抬笔。

  • 将画笔的颜色设为指定的颜色绘画。

  • 将画笔的粗细设定为指定的值。

  • 将画笔的颜色增加指定的值,下拉可以选择饱和度、亮度和透明度。

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

a. 角色设置

选择“Button2”角色,添加文字“开始”。

b. 舞台背景设置

使用默认的舞台背景,不需要额外设置。

(5)脚本编写

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

a. 角色:小猫

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始状态:显示(小猫显示在舞台上)
  3. 初始大小:60(大小为60)
  4. 初始方向:90°
  5. 初始位置:X=0,Y=40(初始位置为(x:0,y:40))
  6. 全部擦除
  7. 初始化画笔颜色:红色(设置画笔颜色为红色)
  8. 初始化画笔粗细:3(画笔粗细为3)

当接收到广播“开始”时:(当小猫接收到“开始”消息)

  1. 落笔
  2. 重复执行360次:(绘制一个颜色逐渐变化的圆形,圆形大小自定义,不超出舞台边缘)
    • 移动1步
    • 左转1°
    • 画笔颜色增加5
  3. 设置画笔颜色:蓝色(圆形画完后,向下绘制一条蓝色直线作为气球绳,直线长短自定义)
  4. Y坐标减小150
  5. 抬笔
  6. 图章(使用图章绘制小猫图案)
  7. 隐藏(隐藏角色,注意小猫图案不要超出舞台边缘)

b. 角色:Button2


新建广播“开始”。

当角色被点击时:

  1. 开始:点击角色,就要执行后续的程序指令。
  2. 广播“开始”。(点击“开始”按钮,发送“开始”消息)

4. 评分标准

(1)将小猫角色大小设定为60;(1分)

(2)正确选择了Button2按钮,并添加文字了“开始”;(1分)

(3)用指令将小猫移到(x:0,y:40)的位置;(1分)

(4)设置画笔颜色为红色,画笔粗细为3,擦除舞台原有的图像;(1分)

(5)完成当点击“开始”按钮时,发送广播;(1分)

(6)完成小猫接收到广播,用重复执行指令画圆;(2分)(注意圆形超出舞台扣1分)

(7)实现画圆过程中颜色不断改变;(1分)

(8)向下画出蓝色直线;(1分)(注意颜色不是蓝色也不扣分)

(9)完成图章。(1分)(小猫图案超出了舞台下边缘不得分)

说明:

对圆的大小、画的方向,以及颜色增加值、气球绳的长度无具体要求,只要能达到相同效果即视为得分。

5. 知识块

三级知识块

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有人抱怨Android找不到工作,有人却收到了好几个Offer~

不知不觉,往年常说的面试黄金季就这样过去了,相信现在很多人都会抱怨说,现在是市场岗位缩水裁员季。有人抱怨,自然也有人喜悦,有失业人群在,自然就业人群也有,有人想找一份合理工作很难&#xf…

C高级(day1)

作业: 初始工作路径不在家目录下,在不切换路径的情况下,在家目录下创建一个subdir目录,在subdir这个目录下,创建subdir1和subdir2,并且把/etc/passwd拷贝到subdir1中,把/etc/group文件拷贝到subdir2中&…

David Silver Lecture 5: Model-Free Control

1 Introduction 1.1 内容 上一章是对一个unknown MDP进行value function的预测,相当于policy evaluation。这一章是对unknown MDP找到一个最优的policy, optimise value function. 1.2 On and Off-Policy Learning On-policy learning learn on the…

[oeasy]python0050_动态类型_静态类型_编译_运行

动态类型_静态类型 回忆上次内容 上次了解了 帮助文档的 生成 开头的三引号注释 可以生成 帮助文档文档 可以写成网页 python3 本身 也有 在线的帮助手册 目前的程序 提高了 可读性 有什么方法 可以让程序 更可读么?🤔 变量名 首先 在变量名上想办…

opencv_c++学习(六)

一、视频加载与摄像头调用 视频、摄像头加载 VideoCapture(filename, CAP_ANY)对以上实例解释如下: 若读取的为本地视频,则filename为视频名称,若读取的是摄像头数据,则为int类型的摄像头id。 视频属性的获取 视频属性可以通过…

手握美团offer,结果背调红灯,哭了....

相信很多人都会包装简历,尤其是工作经历,不过也有人会填一下虚假的背景信息,比如公司leader或HR,小公司没有实力过多进行背调,但是大企业就不同了,他们有方法了解到实际的情况。 背调包括候选人以往的经历…

RHCSA之Linux的安装步骤

目录 RHCSA之环境配置 需要的软件 VMwareWorkstation安装 1.打开VMwareWorkstation安装包 2.进入安装界面点击下一步 3. 在我接受许可协议打 √ 后,点击下一步 4.在安装位置选择更改 5. 更改目标安装位置,点击确定 6.疯狂点击下一步 8.点击安装 9.…

DDIM模型代码实现

背景 前面已经出了一系列的文章来介绍大模型、多模态、生成模型。这篇文章会从更微观和更贴近实际工作的角度下手。会给大家介绍下前面讲到的diffuiosn model具体怎么来实现。文章结构如下: 1.介绍Diffusion Model包括哪些零部件,这些零部件衔接关系 …

jvm梳理

jvm是一个虚拟机,用于运行java代码,类的编译到运行主要为一下: 通过javac.exe编译,产生class文件,然后通过类加载器加入jvm: 类加载器: 引导加载器:使用c编写,负责java的…

【高项】项目绩效域,信息文档配置与变更,标准与规范管理(第4版教材第18-19,24章,项目规范知识)

文章目录 1、配置与变更管理1.1 信息文档1.2 配置管理1.3 变更管理 2、标准规范(合同管理,知识产权)2.1 合同管理2.2 知识产权和标准规范(合同法,招投标法,著作权法,政府采购法)2.3 …

力扣算题Day17

110.平衡二叉树(递归很难理解,思维很重要) 下面才是做二叉树的一种正确思维: copy他人运行代码: class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right right class Solution:def judgeDepth(self, …

自底向上分析概述

4-8自底向上的分析概述_哔哩哔哩_bilibili (开始准备期末考试)(可菜) 移入-规约分析: 每次归约的符号串称为“句柄”,一旦句柄在栈顶形成,我们立即将它规约,因此每一步规约都是最左…

[JAVA EE]创建Servlet——继承HttpServlet类笔记2

创建Servlet的方式之一:继承HttpServlet类(经常使用) 如果请求方式为get请求则调用doGet()方法; 如果请求方式为post请求则调用doPost()方法。 开发中通常不会在两个方法中写重复的代码,会造成代码冗余。 Request 一、获取请求…

[前端基础]websocket协议

(1)websocket websocket(简写为ws),是一种轻量化的协议,经过最开始的握手阶段以后,前后端之间允许自由地发送信息不受限制(建议发送json字符串).虽然理论上这个东西是属于协议内容,但是已经被疯狂封装得像框架一样了. websocket协议具有天然的优势处理前端多线程并发,并且只需…

Android---Glide的基本使用

目录 Glide 基本使用 Glide 进阶 Glide 是一个快速高效的 Android 图片加载库,可以自动加载网络、本地文件,app 资源中的图片,注重于平滑的滚动。 Glide 第一次加载一张图片后,就会自动帮我们把这张图片加入到内存中进行管理。…

Linux内核同步之RCU机制基础

Why RCU 1. 中断与抢占 当一个进程被时钟中断打断后,kernel运行tick中断处理程序(一般是top half),中断处理程序运行结束后,有两种情况: 之前的进程获得CPU继续运行。 另一个进程获得了CPU开始运行&…

AI智慧安监:打电话/玩手机智能检测,构筑安全生产新防线

1、方案背景 在油库、加油站、化工厂等场景中,安全生产是首要的监管问题,因为有易燃物品的存放,打电话很容易引起火灾爆炸等安全事故,造成巨大的生命和财产损失。因此,对人员行为的监管是安全的关键,在一些…

计算机图形学 | 实验六:旋转立方体

计算机图形学 | 实验六:旋转立方体 计算机图形学 | 实验六:旋转立方体Z-缓冲GLM函数库PVM矩阵PVM矩阵的使用 华中科技大学《计算机图形学》课程 MOOC地址:计算机图形学(HUST) 计算机图形学 | 实验六:旋转…

怎么看待QA(软件测试)漏测bug?

先抛出我的2个观点: 1、漏测不一定是测试的锅。但当问题发生时,测试第一时间不要去拒绝推卸责任,而是要先去解决漏测问题。 2、漏测问题的及时处理很重要,但是避免再次漏测更重要。 为了将此问题阐述的更清楚,我将通过…

SSM框架学习-DI依赖注入方式实例

DI依赖注入:依赖注入(Dependency Injection, DI)是一种设计模式,用于将一个对象所需要的其他对象的引用或依赖关系从代码中解耦出来,将其交由某个第三方来管理,使得对象本身更加独立,便于测试和…