【青少年编程】【三级】青蛙捕虫
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。
青蛙捕虫
1. 准备工作
(1) 删除小猫角色;
(2) 导入“Frog”、“Grasshopper”两个角色;
(3) 背景“Forest”。
2. 功能实现
(1) “Grasshopper”角色先克隆出30个克隆体,然后广播“开始”;
(2) 当克隆体启动,在舞台随机位置显示,并不断切换造型移动;
(3) “Frog”角色接收到“开始”,跟随鼠标不断移动;
(4) “Grasshopper”克隆体碰到“Frog”角色删除此克隆体;
(5) 使用变量记录克隆体碰到“Frog”的次数。
3. 设计思路与实现
(1)角色分析
- 角色:“Frog”、“Grasshopper”
(2)背景分析
- 背景:“Forest”
(3)所用积木块介绍
a. 运动类
- 角色移动指定的步数,正数就是向前,负数就是向后。
- 角色移动到随机位置,下拉可选“鼠标指针”或其他角色。
- 将角色移动到舞台中央指定的X/Y坐标位置,默认坐标(x:0,y:0)。
- 将角色朝向某个指定的方向。
- 将角色朝向鼠标指针(或者某个角色)的方向。下拉可选舞台中的其它角色。
- 角色碰到边缘后就往回走。
b. 外观类
- 将角色的造型换成指定的造型。
- 将角色的造型切换成下一个造型,如果是角色的最后一个造型则重新回到第一个造型。
- 该积木块通常与循环积木块一起使用实现逼真效果。
- 将角色的大小调整为指定的值。
- 该积木块通常在角色初始化时使用。
- 在舞台中显示当前角色。
- 在舞台中隐藏当前角色。
c. 事件类
- 程序开始积木块。
- 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
- 消息事件启动积木块,消息是脚本之间、角色之间、舞台与角色之间沟通的重要通道。
- 当接收到消息时,执行后面的程序指令。
- 广播一个消息,消息可以新建,数量也不限制,不同的消息可以用于不同的场合。
d. 控制类
- 时间间隔,等待指定的时间后执行后面的指令。
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行模块里面的积木指令,相当于一个死循环,永不停止,除非在某个地方结束脚本。
- 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。
- 当作为克隆体启动时,该克隆体执行的指令
- 产生自己的一份克隆,下拉倒三角还可以选择其他角色
- 删除克隆体
e. 侦测类
- 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘。
f. 运算类
- 随机得到设定区间中的任一值。
g 变量类
- 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
- 设置变量的值为给定值,通常用于初始化变量。
- 设置变量的值为自身的值加X。
(4)角色、舞台背景设置
a. 角色设置
按照题目要求,删除默认的小猫角色。
在角色区,点击“选择一个角色”菜单,在角色库中选择“Frog”和“Grasshopper”。
b. 舞台背景设置
在舞台区,点击“选择一个背景”菜单,在背景库中选择“Forest”。
(5)脚本编写
创建一个新的消息“开始”,作为广播指令。
新建一个变量“碰到次数”,来记录克隆体碰到“Frog”的次数。
a. 角色:Frog
流程描述:
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 初始位置:移动到舞台所示的位置(-78,-32),左下角即可。
当接收到“开始”指令时:
- 重复执行:(跟随鼠标不断移动)
- 移到鼠标指针
b. 角色:Grasshopper
流程描述:
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 变量初始化:设置“碰到次数”为0。
- 初始大小:将大小设为30,即原大小的30%。
- 初始状态:隐藏
- 重复执行30次:(克隆出30个克隆体)
- 克隆自己
- 发送广播指令“开始”。
当作为克隆体启动时:
- 初始造型;换成“Grassshopper-a”造型。
- 重复执行;(不断切换造型)
- 等待0.1秒
- 下一个造型
当作为克隆体启动时:
- 初始方向:面向0~360之间随机的一个方向。
- 初始位置:移动到舞台的随机位置。
- 重复执行:(“Grasshopper”克隆体碰到“Frog”角色删除此克隆体;)
- 碰到边缘就反弹。
- 移动10步。
- 如果碰到“Frog”,那么将“碰到次数”增加1,删除此克隆体。
(6)结果展现
插入最后的视频
4. 评分标准
(1)“Grasshopper”角色先克隆出30个克隆体,然后广播“开始”;(2分)
(2)当克隆体启动,在舞台随机位置显示,并不断切换造型移动;(2分)
(3)“Frog”角色接收到“开始”跟随鼠标不断移动;(2分)
(4)“Grasshopper”碰到“Frog”角色则删除克隆体;(2分)
(5)使用变量记录克隆体碰到“Frog”的次数。(2分)
5. 考点分析
三级考试大纲与说明
(一)考核目标
进一步认识编程软件的高级功能,对随机数的产生、变量的设置,基于变量的逻辑运算与关系运算的组合使用,解决实际问题;考查画笔模块的更高级操作,应用广播来传递数据,应用克隆来生成克隆体,并灵活控制克隆体;考查对选择语句、循环语句的嵌套使用,以及运用循环简化多次的反复操作程序的理解程度。同时针对参加 3 级考试的学生 将进行多种情况的逻辑处理和交互控制能力的考查。
(二)能力目标
学生对编程软件的进一步综合操作能力,考查对随机数,变量,广播,克隆等知识的掌握,同时考查学生对已掌握知识的深度综合应用,另针 对参加 3 级考试的学生将进行难度更高的逻辑推理能力的考查。
(三)考试标准
1、掌握编程环境的高级功能,并理解其中的基本概念。
- 1)能够新建、删除变量,修改变量名;
- 2)能够设定、增减变量值,在舞台区显示、隐藏变量;
- 3)能够灵活使用画笔及设置画笔的各项参数;
- 4)掌握逻辑运算与关系运算的组合使用;
- 5)能够运用循环简化多次的反复操作程序;
- 6)能够应用广播来传递数据,实现不同角色之间的交互;
- 7)能够理解广播和广播并等待的区别;
- 8)能够应用克隆来生成克隆体,并灵活控制克隆体。
2、理解并在程序中使用随机数和变量。
- 1)理解随机数的概念,能够产生一个随机数;
- 2)理解变量的概念,理解变量的作用域;
- 3)能够通过变量的变化让程序跳转到不同的部分;
- 4)程序中包含不同条件选择语句的嵌套;
- 5)程序中包含循环语句的嵌套;
- 6)程序中包含根据选择语句的真假跳出循环程序;
- 7)循环语句、选择语句嵌套的综合运用。
(四)知识块
- 1. 随机数:随机数的产生,随机数的应用场景判定选取
- 2. 变量:新建变量,初始化变量,修改变量名,删除变量,变量值的设定、增减,变量值变化引起效果的变化,变量的显示和隐藏,变量设置为滑杆模式, 变量的作用域,不同应用场景
- 3. 循环语句:运用计数循环简化多次的反复操作程序、运用条件循环简化多次的反复操作程序
- 4. 循环与选择的嵌套:选择语句的嵌套、选择嵌套和逻辑运算符综合运用、循环语句中包含跳出循环、循环语句的嵌套、选择语句与循环语句的嵌套的综合运用
- 5. 画笔:颜色(亮度,饱和度,对比度),图章,擦除图章
- 6. 广播:广播传递数据,广播并等待,多角色通过广播交互,广播的使用场景
- 7. 克隆:克隆自己,删除克隆体,克隆体启动的设置
- 8. 逻辑推理,编程数学:判断条件的逻辑关系
备注:
- 为本题涉及到的知识点。
- 为需要掌握,但本题未涉及到的知识点。
(五)题型配比及分值
相关文章:

UI培训教程分享:UI设计的分类有哪些?
本期为大家介绍的UI培训教程是关于UI设计分类这块的,在UI设计中,我们常应用到的终端设备可大致分为三类,分别为移动端UI设计、PC端UI设计、其他终端UI设计。 UI培训教程分享:UI设计的分类有哪些? 1. 移动端UI设计 移动端一般指移…

slider(滑动条)控件模版,样式--用图片定义控件模版
初接触wpf,想自己用图片做一个个性slider滑块控件,网上找了很久无果。后来一些机缘巧合看别人源码的时候找到了类似的,然后自己再查了一下msdn,大概弄懂了。 我们先来看看slider控件组成元素。 Slider控件组成: 用图片…

360浏览器调用selenium
2019独角兽企业重金招聘Python工程师标准>>> 360浏览器调用selenium package com.demo;import java.io.File; import java.io.IOException;import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver;…

【组队学习】【28期】R语言数据科学
R语言数据科学 论坛版块: http://datawhale.club/c/team-learning/36-category/36 开源内容: https://github.com/datawhalechina/team-learning-program/tree/master/RLanguage 学习目标 向零基础的同学介绍如何利用R语言进行数据分析。通过学习&…

零基础参加Java培训班合适吗
零基础参加Java培训班合适吗?对于这个问题,首先答案是肯定的,零基础学习java技术最靠谱最快速的方法就是报java培训班进行学习了,来看看下面的详细介绍就知道了。 零基础参加Java培训班合适吗? 能够想到参加Java培训班学习的同学一般分为三…

用VS(c#)创建、调试windows service以及部署卸载
同事问到windows service的东东,现在整理一下,用c#如何创建一个windows service,以及如何调试、部署、卸载。 一、创建windows service 1. 打开VS2008,新建一个Project, Project类型选择Visual C#-Windows,在Templates…

【组队学习】【28期】基于Python的会员数据化运营
基于Python的会员数据化运营 论坛版块: http://datawhale.club/c/team-learning/37-category/37 开源内容: https://github.com/datawhalechina/team-learning-data-mining/tree/master/MemberOperations 学习目标 数据化运营是业务知识与编程技能…

异步系统接口调用流程图
2019独角兽企业重金招聘Python工程师标准>>> 异步系统接口调用流程图 博客分类: java ................................... 转载于:https://my.oschina.net/xiaominmin/blog/1597725

java培训教程分享:Java中用户如何自定义异常?
我们在学习java技术的时候应该有了解过,在java中是定义了很多的异常类的,虽然这些大量异常类可以帮助我们描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中特有的异常情况,例如在设计divide()方法时不允许…

【组队学习】【28期】基于transformers的自然语言处理(NLP)入门
基于transformers的自然语言处理(NLP)入门 论坛版块: http://datawhale.club/c/team-learning/39-category/39 开源内容: https://github.com/datawhalechina/Learn-NLP-with-Transformers 学习目标 自然语言处理(Natural Language Pro…

java io在文件结尾持续添加内容
[代码] java io在文件结尾持续添加内容 public static void write(String path, String content) {try {File f new File(path);BufferedWriter output new BufferedWriter(new FileWriter(f,true));output http://www.szhaoexport.com/linked/20130222.do; .write(content &…

Docker1.12让容器使用和宿主机同一个网段
2019独角兽企业重金招聘Python工程师标准>>> Docker1.12让容器使用和宿主机同一个网段 博客分类: docker 由于开发的一些特殊需求,需要将容器部署在与宿主机同一个网段中,部署步骤如下:步骤一:创建网络$ …

java培训分享:java培训架构师学习线路图
本期java教程分享主要是讲解关于java培训架构师方面的内容,主要针对java架构师的学习线路图进行一个知识点的概括,下面来看看学习java架构师都需要了解哪些内容吧。 java培训分享:java培训架构师学习线路图 1、常见模式与工具 学习Java技术体…

设计中涉及到的dip、dp、px、sp等单位说明
在进行UI设计中常会遇到各种数值单位,开始使用时也常搞混,于是搜集了单位解说的文章与大家一同分享 dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用…

【组队学习】【28期】Datawhale组队学习内容介绍
第28期 Datawhale 组队学习活动马上就要开始啦! 本次组队学习的内容为: 吃瓜教程——西瓜书南瓜书李宏毅机器学习动手学数据分析集成学习SQL编程语言R语言数据科学基于Python的会员数据化运营数据采集从入门到精通基于transformers的自然语言处理(NLP)入…

多线程读一个全局变量要不要加锁?还是说只是当修改全局变量的时候才要加锁?...
如果所有线程都只读取该变量的话不必加锁,因为仅读取不存在破坏数据的风险,如果有线程写该变量的话不管读取还是写入都要加锁的。

java培训教程分享:Java编写软件代码自动提示功能
本期的java培训教程分享主要是介绍的java编写软件代码的一个自动提示功能,很多零基础和初学java的同学们对这一块还不是很了解,Eclipse for android 实现代码自动提示智能提示功能,以下是介绍 Eclipse for android。 java培训教程分享&#x…

iOS WebviewJavascriptBridge 源码研读笔记
这两天接近元旦,事情稍微少些,有些时间,索性写点什么,就从最擅长的iOS混合开发写起了,由于iOS开发经验不到四年吧,期间还搞了一年半的前端,有些知识可能还是积累的不足,能力不足&…

Debian上网的问题小结
装完系统或装系统中很重要的部分就是配置网络的问题了,记得刚安装Debian的时候还不知道dhclient eth0真是杯具。 关于怎么设置识别网卡su->输入root密码->nano /etc/network/interface然后分情况,如果你是有线的且只有一个网卡,就叫eth…

【组队学习】【28期】青少年编程(Scratch 一级)
青少年编程(Scratch 一级) 论坛版块: http://datawhale.club/c/team-learning/34-category/34 开源内容: https://github.com/datawhalechina/team-learning-program/tree/master/Scratch 学习目标 全国青少年软件编程等级考…

java培训教程分享:Java中怎样将数据对象序列化和反序列化?
本期为大家介绍的java培训教程是关于“Java中怎样将数据对象序列化和反序列化?”的内容,相信大家都知道,程序在运行过程中,可能需要将一些数据永久地保存到磁盘上,而数据在Java中都是保存在对象当中的。那么我们要怎样将对象中的…

C#实现的几种委托
//普通委托DeleteShow ds new DeleteShow(ShowName);Console.WriteLine("----------------------");Console.WriteLine("普通委托----请输入用户名:");string Name Console.ReadLine();Console.WriteLine(ds(Name));Console.WriteLine("-----------…

AFN框架使用整理
1.AFN框架基本使用 1 AFN内部结构 AFN结构体 NSURLConnection(iOS9.0废弃了) AFURLConnectionOperationAFHTTPRequestOperationAFHTTPRequestOperationManager(封装了常用的 HTTP 方法) 属性 baseURL :AFN建议开发者针对 AFHTTPRequestOperationManager 自定义个一个单例子类&a…

【青少年编程】【一级】小镇一日游
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档&…

参加java培训后,就业方向有哪些
参加java培训后,就业方向有哪些?很多正在参加java培训的同学对这个问题都比较关注,那么下面小编就针对这个问题为大家做下详细的介绍,希望能够帮助到大家。 参加java培训后,就业方向有哪些?首先我们来了解一下Java的应用领域&am…

访问本地文件403
电脑不知道怎么设置的根目录下看不到所有文件夹 而且打开一个新的文件夹显示 Forbidden You dont have permission to access /atina/ on this server. 最后没办法只能手动把文件夹加上权限 chmod -R 777 atina //-R 递归修改,“/文件夹/“以下所有内容(…

iOS微信支付集成 SDK1 7 5
最近做了一个新项目,涉及到支付宝和微信支付,支付宝和微信都是业界的老大哥,相信大家都有所觉得文档、SDK都是各种坑吧(纯粹吐槽而已),这是继上篇支付宝支付集成后接着的微信支付集成。 1.微信商户申请步骤…

【青少年编程(第26周)】一下子多了很多事!
2021年08月15日(周日)晚20:00我们在青少年编程竞赛交流群开展了第二十六次直播活动。我们直播活动的主要内容如下: 首先,我们奖励了上周测试超过60分的小朋友。 其次,介绍了Datawhale青少年组队学习活动的规划&#x…

Python培训教程分享:10款超好用的Python开发工具
学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python开发工具! Python培训教程分享:10款超…

pfSense book之2.4安装指南
pfSense商店的硬件产品都预装了pfSense软件。要重新安装pfSense软件或将其安装到其他硬件,请按照本章所述下载安装程序映像。警告预先从pfSense商店或授权合作伙伴以外的商业供应商预装pfSense软件的硬件不值得信任。 第三方可能已经对软件进行了未经授权的、未知的…