猫咪抓老鼠游戏
1. 准备工作
(1)保留小猫角色,添加“Mouse1”;
(2)默认白色背景。
2. 功能实现
(1)键盘上下左右键控制小猫上下左右移动;
(2)老鼠出现在舞台随机位置;
(3)如果玩家3秒内没有抓住老鼠,老鼠出现在新的随机位置;
(4)如果抓到老鼠,得分加1,老鼠出现在新的随机位置;
(5)左下角有一个大字显示的变量,表示抓到的老鼠数量。
3. 设计思路与实现
(1)角色分析
角色:默认的小猫、Mouse1
(2)背景分析
背景:默认背景无需修改,该背景是透明的看起来是白色
(3)所用积木块介绍
a. 运动类
- 角色移动到随机位置,下拉可选“鼠标指针”或其他角色
- 如果增加的是正数,则在原先角色的位置上往右移动对应的数值;如果增加的是负数,则在原先角色的位置上往左移动对应的数值。即实现左右移动的功能。
- 如果增加的是正数,则在原先角色的位置上往上移动对应的数值;如果增加的是负数,则在原先角色的位置上往下移动对应的数值。即实现上下移动的功能。
- 将角色朝向某个指定的方向。
- 角色初始朝向右边,90°方向。
- 设定角色旋转方式为“左右翻转”,下拉可选“不可旋转”,“任意旋转”。
- 这三种旋转方式区别在于:左右翻转(正常转向后角色上下结构不变),不可旋转(不能进行旋转),任意旋转(转向后上下颠倒,Scratch默认旋转方式)。
b. 外观类
- 在舞台中显示当前角色
- 在舞台中隐藏当前角色
c. 事件类
- 程序启动之后,点击绿旗,执行后续的程序脚本
- 该模块通常在程序开始时使用
- 当按下键盘上某个具体的键时,执行后面的程序指令,下拉三角可以选择“方向键”,“字母键”,“数字键”等
d. 控制类
- 重复执行模块里面的积木指令
- 条件判断语句,如果条件返回值为真(bool值),那么模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令
e. 侦测类
- 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘
- 当我们打开Scratch的时候,计时器就工作了,它不停的计数,以”毫秒"为单位,不停的涨,换句话说,我们打开scratch多长时间,它就记了多长时间的值,当然,这个值对我们没有什么用,所以我们需要使用计时器的时候,先使用侦测里的计时器归零。
- 初始化计时器,让计时器归零重新开始计时
f. 运算类
- 比较运算,左边大于右边返回true值(真),否则返回false值(假)
g. 变量类
- 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。
- 设置变量的值为给定值,通常用于初始化变量
- 设置变量的值为自身的值加1
(4)角色、舞台背景设置
a. 角色设置
在角色区,点击“选择一个角色”菜单,在角色库中选择Mouse1。起初默认的小猫角色不变。
b. 舞台背景设置
使用默认的背景设置即可。根据题目的要求“在舞台的左下角有一个大字显示的变量,表示抓到的老鼠数量。”,所以需要进行以下的操作:
第一步:新建变量“数量”,记录抓到的老鼠数量。
第二步:勾选“数量”,使其在舞台中显示。
第三步:将“数量”移动到舞台的左下角,点击右键选择“大字显示”。
(5)脚本编写
编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。
a. 角色:小猫
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 将旋转方式设为“左右翻转”。
根据题目要求:键盘上下左右键控制小猫上下左右移动。
当按向上键时:
- 小猫y坐标增加10
当按向下键时:
- 小猫y坐标减少10(增加-10)
当按向左键时:
- 小猫面向-90°方向
- 小猫x坐标减少10(增加-10)
当按向右键时:
- 小苗面向90°方向
- 小猫x坐标增加10
b. 角色:Mouse1
本题的核心是关于计时器的应用。如果Mouse1没有被猫抓住,3秒钟之后,移动到在舞台的随机位置并重新计时等待下一个3秒钟。如果被猫抓住,那么立刻移动到舞台的随机位置并重新计时等待3秒钟。
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 计时器归零,开始计时。
- 初始化分数:将我的变量设置为0。
- 重复执行:判断是否被抓住
- 如果被猫抓住,那么隐藏,增分(将我的变量增加1),随机移动(移动到随机位置),计时器归零(重新记录3秒钟),显示。
当按下绿棋时:
- 开始:点击绿棋,开始执行代码。
- 初始位置:移动到随机位置。
- 重复执行:根据计时器是否超过3秒钟,来确定是否移动到随机位置。
- 如果计时器大于3秒,那么移动到随机位置,计时器归零(重新记录3秒钟)。