【编程题】【Scratch二级】2022.09 小老鼠偷面包

news2025/1/16 7:58:04

小老鼠偷面包

1. 准备工作

(1)背景:Stars,绘制如下图所示的迷宫;

(2)角色:Cat 2、Mouse1、Bread。

2. 功能实现

(1)Cat 2、Mouse1和Bread初始位置和方向如下图所示,调整Cat 2大小为50,Mouse 1大小为40,Bread大小为100;

(2)利用键盘的上下左右键分别控制Mouse 1面向四个方向移动,注意按下不同的键,方向也随之调整;

(3)Cat 2在坐标(x:217,y:-67)和(x:-47,y:-67)之间左右移动,移动时角色方向也随之调整;

(4)Mouse1在移动过程中碰到红色的墙,回到初始位置;

(5)Mouse1碰到Cat 2说“失败!”2秒后停止全部脚本,碰到Bread说“胜利!”2秒后停止全部脚本。

3. 设计思路与实现

(1)角色分析

角色:Cat 2、Mouse1、Bread

(2)背景分析

背景:Stars

(3)所用积木块介绍

a. 运动类

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

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

  • 将角色在规定的时间内滑行到舞台中央指定的X/Y坐标位置。

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

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

b. 外观类

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

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

c. 事件类

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

  • 键盘事件启动积木块。
  • 当按下键盘上某个具体的键时,执行后面的程序指令,下拉三角可以选择“方向键”,“字母键”,“数字键”等。

d. 控制类

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

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

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

e. 侦测类

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

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

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

a. 角色设置

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

b. 舞台背景设置

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

按照上图的样式,绘制迷宫。

(5)脚本编写

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

a. 角色:Cat 2

当绿旗被点击时

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始大小:50(调整Cat 2大小为50)
  3. 初始方向:90°
  4. 初始位置:X=-73,Y=-67
  5. 初始旋转方式:左右翻转
  6. 重复执行:(Cat 2在坐标(x:217,y:-67)和(x:-47,y:-67)之间左右移动,移动时角色方向也随之调整)
    • 面向90°方向
    • 2秒内滑动到X=217,Y=-67
    • 面向-90°方向
    • 2秒内滑动到X=-47,Y=-67

b. 角色:Mouse1

当绿旗被点击时

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=-210,Y=137
  3. 初始旋转方式:任意翻转
  4. 初始方向:180°
  5. 初始大小:40
  6. 重复执行:
    • 如果碰到红色,那么移动到X=-210,Y=137,面向180°。(Mouse1在移动过程中碰到红色的墙,回到初始位置;)
    • 如果碰到Cat2,那么说“失败”2秒,停止全部脚本。(Mouse1碰到Cat 2说“失败!”2秒后停止全部脚本)
    • 如果碰到Bread,那么说“胜利”2秒,停止全部脚本。(Mouse1碰到Bread说“胜利!”2秒后停止全部脚本。)

当按下向上键时:

  1. 设置旋转方式:任意翻转。
  2. 面向0°方向。
  3. 移动10步。

当按下向下键时:

  1. 设置旋转方式:任意翻转。
  2. 面向180°方向。
  3. 移动10步。

当按下向左键时:

  1. 设置旋转方式:左右翻转。
  2. 面向-90°方向。
  3. 移动10步。

当按下向右键时:

  1. 设置旋转方式:左右翻转。
  2. 面向90°方向。
  3. 移动10步。

c. 角色:Bread

当绿旗被点击时

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=188,Y=-161
  3. 初始大小:100(Bread大小为100)

4. 评分标准

(1)绘制正确背景;(1分)

(2)分别添加Cat 2、Mouse1和Bread角色;(1分)

(3)设置Cat 2、Mouse1和Bread角色的初始位置和方向;(2分)

(4)能够利用上下左右控制Mouse1移动;(4分)

(5)Cat 2在(x:-47 y:-67)和(x:217 y:-67)之间左右移动并且方向随之调整;(3分)

(6)当Mouse1碰到红墙,则回到原点;(2分)

(7)Mouse1碰到Cat 2后,说“失败”2秒并停止全部脚本,Mouse1碰到Bread说“胜利”2秒并停止全部脚本。(2分)

5. 知识块

二级知识块

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

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

相关文章

机器人C++库(12) Robotics Library 之路径规划算法:PRM、RRT、EET算法

机器人C库(12)Robotics Library 之路径规划算法:PRM、RRT、EET算法 RL库的运动规划(rl::plan)模块集成了以下经典的路径规划算法: PRM算法:概率路线图算法RRT算法:快速探索随机树算法EET算法:搜索树算法-基…

牧场系统设计与实现-计算机毕业设计源码+LW文档

关键代码 package com.example.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.huto…

japonensisjava乱码_Java乱码问题原因及解决方案

一. java乱码乱码问题解决思路,java乱码分为以下几种 1. 请求乱码 如果是在请求过程中发生的乱码,有可能是以下几种情况: 参数放在 URL 地址中乱码; 参数在请求体中乱码; 数据库本身乱码; 数据从 Java 应用程序传入数据库的过程中乱码。 2. 响应乱码 如果是响应乱码,那…

Go语言学习(八)-- Gin入门

Gin 是一个 Go (Golang) 编写的轻量级 http web 框架,运行速度非常快。Gin 最擅长的就是 Api 接口的高并发,如果项目的规模不大,业务相对简单,这个时候我们 也推荐您使用 Gin。 当某个接口的性能遭到较大挑战的时候,这…

Prometheus监控案例

一:环境规划: 主机名主机地址角色node4192.168.188.114prometheus客户端node5192.168.188.115prometheus服务端 二. 监控远程linux主机: 1. 解压node_exporter压缩包: [rootnode4 ~]# tar xf node_exporter-1.3.1.linux-amd64…

RT-Thread 下的文件内容对比 MSH shell cmd 命令实现方法

前言 在使用 RT-Thread 时,需要对两个文件的内容进行比较,顺手写了一个测试的 MSH shell 命令,经过优化,发现功能可以使用 RT-Thread 下支持多种文件系统,如FAT等,可以通过 USB、串口 的 Ymodem 等协议把文…

YOLOv5-seg数据集制作、模型训练以及TensorRT部署

YOLOv5-seg数据集制作、模型训练以及TensorRT部署版本声明一、数据集制作:图像 Json转txt二、分割模型训练三 tensorRT部署版本声明 yolov5-seg:官方地址:https://github.com/ultralytics/yolov5/tree/v6.2 TensorRT:8.x.x 语言:…

基于stm32单片机体重秤电子秤超重提醒

资料编号:107 下面是相关功能视频演示: 107-基于stm32单片机体重秤电子秤称重超重报警Proteus仿真(源码仿真全套资料)功能介绍: 采用stm32单片机,可以设置称重上限制,LCD1602显示重量&#xf…

04_tcp

知识点1【多播】 多播地址: 多播地址向以太网MAC地址的映射 UDP多播工作过程: 多播地址结构体: 多播套接口选项: 知识点2【TCP面向链接编程】 1、创建tcp套接字 2、做为客户端需要具备的条件 3、connect链接服务器的函数…

地图下载白嫖神器!你该怎么用好它

今天介绍一下做数据可视化网站比较好的两个平台。一个是阿里云的Datav,另一个是易智微easyv. 一、DataV.GeoAtlas 前段时间 我们就给大家分享过阿里云的DataV.GeoAtlas地理小工具系列。我们可以通过这个平台下载高德比较新的地图数据,数据的时效性是有较…

如何查看SAP版本及HANA版本?

目录 一、查SAP NetWeaver版本 二、查看S/4 HANA版本 在SAP运维及系统集成时,经常外面公司问及本公司的SAP版本及HANA版本。其实是每一个登录SAP的用户都可以查到的。方法如下: 一、查SAP NetWeaver版本 SAP界面上选择菜单:系统-状态&am…

哈夫曼树与哈夫曼编码

哈夫曼树:结点中赋予一个某种意义的值,称为结点的权值,从根结点开始,到目标结点经过的边数,称为路径长度,路径长度乘以权值,称为带权路径长度; 例如:根结点代表着快递集…

上位机工业协议-S7COMM

1、S7协议主要针对西门子相关设备通信。先了解基本通信对象、通信环境、通信报文,再处理S7COMM通信库的封装与测试。 2、西门子设备通信 - PLC:系列 LOGO、200、200Smart、300、400、1200、1500 - PLC:LOGO、200、200Smart、300、400、1…

Elastic Stack容器化部署拓展(Https、AD域集成)并收集Cisco设备的日志信息

前言: 还记得在去年的笔记中提到过EFK(Elasticsearch-Filebeat-Kibana)的部署,但是其中的内容相对简单,也没有提到一些额外的Elastic Stack的特性。链接如下:https://blog.csdn.net/tushanpeipei/article/…

JSTL使用

目录 简介: 组成 使用: code核心库使用 ​编辑 fmt格式化 ​编辑 简介: 全称:JSP Standard Tag Library 中文名:JSP标准标签库 作用:用于扩展JSP中的标签,能够为JSP页面提供流程控制、类型转换等功能的标签。替换JSP中代码…

【Spring Cloud实战】Ribbon负载均衡

gitee地址:https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址:https://javaxiaobear.gitee.io/ 1、概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项…

jenkins持续集成 自动化部署

一、环境准备 1.1 Java环境 (1)安装jdk1.8 yum -y install java-1.8.0-openjdk* (2)执行以下命令查看是否安装成功 java -version 1.2 安装maven (1)将安装包上传到Linux服务器,解压缩 tar -…

对笔记本电池的研究

文章目录设计容量&完全充电容量笔记本电池报告显示电池设计与系统电池的全部充电容量之间的差异解释电池损耗正确做法查看笔记本的电池使用报告方法第一步:WinR键输入cmd,打开命令提示符窗口第二步:输入powercfg /batteryreport&#xff…

代码规范-对抗软件复杂度

1、为什么需要代码规范 任何系统性的项目都需要架构设计,而架构设计的核心命题是控制复杂度。 但随着项目的不断迭代,复杂度就会不断上升,研发效率就会不断下降。 而代码规范正是对抗软件复杂度的有效手段,通过约定俗成的规则…

[附源码]计算机毕业设计JAVA户籍管理系统

[附源码]计算机毕业设计JAVA户籍管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis M…