老鹰捉小鸡
小鸡正在农场上玩耍,突然从远处飞来一只老鹰,小鸡要快速回到鸡舍中,躲避老鹰的抓捕。
1. 准备工作
(1)删除默认白色背景,添加背景Farm;
(2)删除默认角色小猫,添加角色Chick、Griffin。
2. 功能实现
(1)角色的初始位置和方向如下图所示;
(2)老鹰不断向右下移动,碰到边缘就反弹,不能倒立;
(3)用上、下、左、右键,控制小鸡朝上下左右四个不同的方向移动,不能倒立;
(4)老鹰碰到小鸡后,老鹰会说“我抓住你了!” 2秒,停止全部脚本;
(5)小鸡走进鸡舍后,会说“我安全啦!”2秒,然后消失,停止全部脚本。
3. 设计思路与实现
(1)角色分析
角色:Chick、Griffin
(2)背景分析
背景:Farm
(3)所用积木块介绍
a. 运动类
- 角色移动指定的步数,正数就是向前,负数就是向后。
- 将角色移动到舞台中指定的X/Y坐标位置,默认坐标(x:0, y:0)。
- x的范围(-240, 240);y的范围(-180, 180)。
- 将角色朝向某个指定的方向。
- 通常用作控制角色在舞台中的上下左右朝向。即0朝上,90朝右(默认),180朝下,-90朝左。
- 角色碰到边缘后就往回走。
- 设定角色旋转方式为“左右翻转”,下拉可选“不可旋转”,“任意旋转”。
- 这三种旋转方式区别在于:左右翻转(正常转向后角色上下结构不变),不可旋转(不能进行旋转),任意旋转(转向后上下颠倒,Scratch默认旋转方式)。
b. 外观类
- 在规定的时间内在舞台上显示输入的文字(说话云朵)。
- 将角色的大小调整为指定的值。
- 该积木块通常在角色初始化时使用。
- 在舞台中显示当前角色。
- 在舞台中隐藏当前角色。
c. 事件类
- 程序开始积木块。
- 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。
d. 控制类
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 重复执行模块里面的积木指令,相当于一个死循环,永不停止,除非在某个地方结束脚本。
- 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。
- 循环积木块:一遍一遍地执行包起来的积木序列。
- 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环。
- 将所有的角色和背景的脚本停止执行,下拉倒三角还可以选择“停止当前角色的其它脚本”和“这个脚本”。
e. 侦测类
- 检测是否碰到指定的颜色,如果是返回bool值“真”,否则返回bool值“假”。
- 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘。
- 侦测是否按下了键盘的某个按键,获取一个为真或假的布尔值。
- 通过下拉三角可以选择空格键、方向键、任意键、字母键和数字键。
(4)角色、舞台背景设置
a. 角色设置
我们删除默认的角色小猫,在角色仓库中选择题目要求的角色“Chick”、“Griffin”。
b. 舞台背景设置
我们按照题目的要求选择舞台背景“Farm”。
按照题目要求删除默认白色背景。
(5)脚本编写
编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。
a. 角色:Griffin
当绿旗被点击时:
- 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始化大小:60
- 初始化位置:X = -7,Y = 103。
- 旋转方式:左右翻转。(老鹰不能倒立)
- 初始化方向:135°。(老鹰不断向右下移动)
- 重复执行直到 碰到Chick:
- 移动5步。
- 碰到边缘就反弹。(老鹰不断向右下移动,碰到边缘就反弹)
- 说“我抓住你了”,2秒。(老鹰碰到小鸡后,老鹰会说“我抓住你了!” 2秒,停止全部脚本。)
b. 角色:Chick
当绿旗被点击时:
- 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始位置:X = 191,Y = -134。
- 旋转方式:左右翻转。
- 初始方向:-90°。
- 重复执行:(用上、下、左、右键,控制小鸡朝上下左右四个不同的方向移动,不能倒立)
- 如果按下“向上”键:设置旋转方式为“任意旋转”,面向0°方向,移动10步。
- 如果按下“向下”键:设置旋转方式为“任意旋转”,面向180°方向,移动10步。
- 如果按下“向左”键:设置旋转方式为“左右翻转”,面向-90°方向,移动10步。
- 如果按下“向右”键:设置旋转方式为“左右翻转”,面向90°方向,移动10步。
当绿旗被点击时:
- 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始状态:显示
- 重复执行:(小鸡走进鸡舍后,会说“我安全啦!”2秒,然后消失,停止全部脚本。)
- 如果碰到黑色,说“我安全了”,2秒,隐藏,停止全部脚本。
4. 评分标准
(1)背景和角色添加正确(1分);
(2)点击绿旗后,角色的初始位置正确(1分),方向正确(1分),老鹰不断移动,旋转方式正确,碰到边缘反弹(2分);
(3)按下上、下、左、右键可以让小鸡朝上下左右不同方向移动(2分),旋转方式正确(1分);
(4)老鹰碰到小鸡后,说出“我抓住你了!”(2分),停止全部脚本(1分);
(5)小鸡碰到鸡舍黑色部分后,说出“我安全啦!”(2分),隐藏(1分),停止全部脚本(1分)。