「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。
打气球游戏
1.准备工作
(1)角色“Wand”,“Balloon1”;
(2)默认白色背景。
2.功能实现
(1)程序开始,魔法棒在舞台的底部不停左右移动;
(2)如果按空格键,魔法棒垂直向上发射;
(3)程序开始,5个气球水平排练在舞台上方(请使用克隆),不可以直接添加5个气球角色到舞台上;
(4)魔法棒如果碰到了气球,气球消失,魔法棒回到舞台下方重复左右移动;
(5)魔法棒只能发射5次。
3. 设计思路与实现
(1)角色分析
- 角色:“Wand”,“Balloon1”
(2)背景分析
- 背景:默认背景(无色)
(3)所用积木块介绍
a. 运动类
- 角色移动指定的步数,正数就是向前,负数就是向后。
- 将角色移动到舞台中央指定的X/Y坐标位置,默认坐标(x:0,y:0)。
- 如果增加的是正数,则在原先角色的位置上往上移动对应的数值;如果增加的是负数,则在原先角色的位置上往下移动对应的数值。即实现上下移动的功能。
- 角色碰到边缘后就往回走。
- 设定角色旋转方式为“左右翻转”,下拉可选“不可旋转”,“任意旋转”。
- 这三种旋转方式区别在于:左右翻转(正常转向后角色上下结构不变),不可旋转(不能进行旋转),任意旋转(转向后上下颠倒,Scratch默认旋转方式)。
b. 外观类
- 在舞台中显示当前角色。
- 在舞台中隐藏当前角色。
c. 事件类
- 程序开始积木块。
- 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
d. 控制类
- 时间间隔,等待指定的时间后执行后面的指令。
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行指定的次数后停止,该积木块通常在角色移动等场景中使用。
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行模块里面的积木指令,相当于一个死循环,永不停止,除非在某个地方结束脚本。
- 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。
- 循环积木块:一遍一遍地执行包起来的积木序列
- 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环
- 将所有的角色和背景的脚本停止执行,下拉倒三角还可以选择“停止当前角色的其它脚本”和“这个脚本”。
- 当作为克隆体启动时,该克隆体执行的指令
- 产生自己的一份克隆,下拉倒三角还可以选择其他角色
- 删除克隆体
e. 侦测类
- 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘。
f. 运算类
- 比较运算,左边等于右边返回true值(真),否则返回false值(假)。
- 逻辑或运算,两个条件,只要满足一个条件为真,则整个逻辑运算返回bool值(真),只有两个条件都为假的情况,逻辑运算才返回bool值(假)。
g. 变量类
- 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
- 设置变量的值为给定值,通常用于初始化变量。
- 设置变量的值为自身的值加X。
(4)角色、舞台背景设置
a. 角色设置
按照题目要求,删除默认的小猫角色。
在角色区,点击“选择一个角色”菜单,在角色库中选择“Wand”,“Balloon1”。
按照题目要求,魔法棒只能发射5次,所以创建一个变量“次数”来记录魔法棒当前发射的次数。
b. 舞台背景设置
默认舞台背景设置,无需修改舞台背景。
(5)脚本编写
a. 角色:Wand
流程描述:
按照题目要求“程序开始,魔法棒在舞台的底部不停左右移动;”这块使用循环,碰到边缘就反弹可以实现。
按照题目要求“如果按空格键,魔法棒垂直向上发射;魔法棒如果碰到了气球,气球消失,魔法棒回到舞台下方重复左右移动;”这块是在左右移动过程中发生的,即在左右移动的循环中侦测到按下了空格,魔法棒的x坐标不变,y坐标增加去侦测是否碰到气球或者舞台的边缘,这个功能也是通过循环实现的,发射完魔法棒之后,y坐标复原,继续左右移动。
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 初始位置:移动到舞台的左下角
- 初始变量:将次数设为0,表示还没有发射魔法棒
- 重复执行:左右移动以及用魔法棒打击气球
- 移动5步
- 碰到边缘就反弹
- 如果侦测到按下了空格,则发射魔法棒。
- 发射魔法棒的过程是,发射次数增加1,重复执行y坐标增加10,直到碰到舞台边缘或气球。发射完之后,判断次数是否到达5次,如果到达5次,则停止这个脚本。最后让y坐标还原到发射前的数值,即魔法棒还原到发射前的位置。
b. 角色:Balloon1
流程描述:
程序开始时,舞台上方有5个气球水平排列,本题目可以使用克隆方法创建4个气球,外加一个本体来实现。
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 初始状态:显示本体
- 初始位置:放到舞台的左上方
- 重复执行4次:克隆4个气球
- 克隆自己
- 移动90步
- 重复执行:侦测是否被魔法棒打中
- 如果碰到魔法棒,那么等待0.01秒,隐藏自己。
当作为克隆体启动时:
- 重复执行:侦测是否被魔法棒打中
- 如果碰到魔法棒,那么等待0.01秒,删除此克隆体。
(6)结果展现
插入最后的视频
4. 考点分析
三级考试大纲与说明
(一)考核目标
进一步认识编程软件的高级功能,对随机数的产生、变量的设置,基于变量的逻辑运算与关系运算的组合使用,解决实际问题;考查画笔模块的更高级操作,应用广播来传递数据,应用克隆来生成克隆体,并灵活控制克隆体;考查对选择语句、循环语句的嵌套使用,以及运用循环简化多次的反复操作程序的理解程度。同时针对参加 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. 逻辑推理,编程数学:判断条件的逻辑关系
备注:
- 为本题涉及到的知识点。
- 为需要掌握,但本题未涉及到的知识点。
(五)题型配比及分值