小老鼠偷面包
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
当绿旗被点击时:
- 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始大小:50(调整Cat 2大小为50)
- 初始方向:90°
- 初始位置:X=-73,Y=-67
- 初始旋转方式:左右翻转
- 重复执行:(Cat 2在坐标(x:217,y:-67)和(x:-47,y:-67)之间左右移动,移动时角色方向也随之调整)
- 面向90°方向
- 2秒内滑动到X=217,Y=-67
- 面向-90°方向
- 2秒内滑动到X=-47,Y=-67
b. 角色:Mouse1
当绿旗被点击时:
- 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始位置:X=-210,Y=137
- 初始旋转方式:任意翻转
- 初始方向:180°
- 初始大小:40
- 重复执行:
- 如果碰到红色,那么移动到X=-210,Y=137,面向180°。(Mouse1在移动过程中碰到红色的墙,回到初始位置;)
- 如果碰到Cat2,那么说“失败”2秒,停止全部脚本。(Mouse1碰到Cat 2说“失败!”2秒后停止全部脚本)
- 如果碰到Bread,那么说“胜利”2秒,停止全部脚本。(Mouse1碰到Bread说“胜利!”2秒后停止全部脚本。)
当按下向上键时:
- 设置旋转方式:任意翻转。
- 面向0°方向。
- 移动10步。
当按下向下键时:
- 设置旋转方式:任意翻转。
- 面向180°方向。
- 移动10步。
当按下向左键时:
- 设置旋转方式:左右翻转。
- 面向-90°方向。
- 移动10步。
当按下向右键时:
- 设置旋转方式:左右翻转。
- 面向90°方向。
- 移动10步。
c. 角色:Bread
当绿旗被点击时:
- 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
- 初始位置:X=188,Y=-161
- 初始大小: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分)