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