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

【电子学会】2023年03月图形化一级 -- 甲壳虫走迷宫

甲壳虫走迷宫

1. 准备工作

(1)绘制如图所示迷宫背景图,入口在左下角,出口在右上角,线段的颜色为黑色;

(2)删除默认小猫角色,添加角色:Beetle;

(3)给Beetle角色添加声音:Win。

2. 功能实现

(1)点击绿旗,Beetle出现在舞台左下角的迷宫入口处,面向右,说"我进来了!"2秒;

(2)Beetle向右移动,每次移动180步,移动后等待1秒,到达右下角后,再向上移动,每次移动120步,移动后等待1秒,到达右上角后,再向右移动80步;

(注意,移动的步数可以根据绘制的迷宫长短调整,虫子能从左下角开始向右移动,再向上移动,再向右移动到出口,并且能看到移动的过程)

(3)Beetle到达舞台右上角的迷宫出口处,说"我出来了!"2秒,然后播放Win声音。

3. 设计思路与实现

(1)角色分析

角色:Beetle

(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. 角色设置

按照题目要求,删除默认的小猫角色,并添Beetle角色。

给Beetle角色添加声音:Win。

b. 舞台背景设置

按照题目要求,绘制迷宫背景图,入口在左下角,出口在右上角,线段的颜色为黑色;

(5)脚本编写

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

a. 角色:Beetle

在这里插入图片描述

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=-180,Y=-120(Beetle出现在舞台左下角的迷宫入口处)
  3. 初始方向:90°(面向右)
  4. 说“我进来了!”,2秒(说"我进来了!"2秒)
  5. 重复执行2次:(Beetle向右移动,每次移动180步,移动后等待1秒)
    • 移动180步
    • 等待1秒
  6. 面向0°方向(到达右下角后,再向上移动,每次移动120步,移动后等待1秒)
  7. 重复执行2次:
    • 移动120步
    • 等待1秒
  8. 面向90°方向(到达右上角后,再向右移动80步)
  9. 移动80步
  10. 说“我出来了”,2秒(Beetle到达舞台右上角的迷宫出口处,说"我出来了!"2秒)
  11. 播放声音Win(播放Win声音)

4. 评分标准

(1)绘制如图所示迷宫背景图;(3分)(颜色不是黑色也给分)

(2)删除默认小猫角色,添加角色:Beetle;(1分)给Beetle角色添加声音:Win;(1分)

(3)点击绿旗,Beetle出现在舞台左下角的迷宫入口处,面向右,然后说"我进来了!"2秒;(2分)

(4)Beetle先向右移动,每次移动180步,移动后等待1秒,到达右下角后,再向上移动,每次移动120步,移动后等待1秒,到达右上角后,再向右移动80步;(5分)(只要能看到虫子从左边移到右边,再移到上面,再移到右边出口即可,能看到移动过程,步数和等待的时间可以跟要求不一致)

(5)Beetle到达舞台右上角的迷宫出口处,说"我出来了!"2秒,然后播放Win声音。(3分)

5. 知识块

一级知识块

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

相关文章:

  • 老外从神话原型中提取的12个品牌个性
  • unity中的Quaternion.AngleAxis
  • 如何设置渗透测试实验室
  • Java时间类(八)-- Instant (时间戳类)(常用于Date与LocalDateTime的相互转化)
  • C++模板
  • 【JavaEE】HTML基础知识
  • mysql与redis区别
  • Hive本地开发/学习环境配置
  • 《基于EPNCC的脉搏信号特征识别与分类研究》阅读笔记
  • Linux下解压和压缩命令大全(详解+案例)
  • Linux的常用指令
  • 第 5 章 HBase 优化
  • 台北房价预测
  • 9:00进去,9:05就出来了,这问的也太···
  • debootstrap 构建 RISC-V 64 Ubuntu 根文件系统
  • 腾讯云轻量应用服务器(Lighthouse)怎么样?
  • 学习 AI 常用的一些专业词汇
  • IP协议基础
  • Redis主从复制、哨兵实战
  • README.md编写
  • 软件设计证书倒计时28天
  • 程序员基础的硬件知识(cpu、主板、显卡、内存条等)
  • 优化Google Cloud Storage大文件上传和内存溢出
  • chatGPT的prompt技巧
  • 【华为OD机试 2023最新 】统一限载货物数最小值(C语言题解 100%)
  • ios 在windows chrome 联调
  • 干翻Mybatis源码系列之第六篇:Mybatis可选缓存概述
  • 如何调教ChatGPT
  • 记一次我的漏洞挖掘实战——某公司的SQL注入漏洞
  • 代码随想录二刷复习 day1 704二分查找 27 移除元素 977 有序数组的平方