分享

【青少年编程】【三级】猫咪抓老鼠游戏

 老马的程序人生 2021-03-06

Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】,即可进入。如果加入了之前的社群不需要重复加入。

微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。

猫咪抓老鼠游戏

1. 准备工作

(1)保留小猫角色,添加“Mouse1”;

(2)默认白色背景。

2. 功能实现

(1)键盘上下左右键控制小猫上下左右移动;

(2)老鼠出现在舞台随机位置;

(3)如果玩家3秒内没有抓住老鼠,老鼠出现在新的随机位置;

(4)如果抓到老鼠,得分加1,老鼠出现在新的随机位置;

(5)左下角有一个大字显示的变量,表示抓到的老鼠数量。

3. 设计思路与实现

(1)角色分析

  • 角色:默认的小猫、Mouse1

(2)背景分析

  • 背景:默认背景无需修改,该背景是透明的看起来是白色

(3)所用积木块介绍

a. 运动类

  • 角色移动到随机位置,下拉可选“鼠标指针”或其他角色
  • 如果增加的是正数,则在原先角色的位置上往右移动对应的数值;如果增加的是负数,则在原先角色的位置上往左移动对应的数值。即实现左右移动的功能。
  • 如果增加的是正数,则在原先角色的位置上往上移动对应的数值;如果增加的是负数,则在原先角色的位置上往下移动对应的数值。即实现上下移动的功能。

b. 外观类

  • 在舞台中显示当前角色
  • 在舞台中隐藏当前角色

c. 事件类

  • 程序启动之后,点击绿旗,执行后续的程序脚本
  • 该模块通常在程序开始时使用
  • 当按下键盘上某个具体的键时,执行后面的程序指令,下拉三角可以选择“方向键”,“字母键”,“数字键”等
  • 消息事件启动积木块,消息是脚本之间、角色之间、舞台与角色之间沟通的重要通道
  • 当接收到消息时,执行后面的程序指令
  • 广播一个消息,消息可以新建,数量也不限制,不同的消息可以用于不同的场合

d. 控制类

  • 重复执行模块里面的积木指令
  • 条件判断语句,如果条件返回值为真(bool值),那么模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令
  • 循环积木块:一遍一遍地执行包起来的积木序列
  • 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环

e. 侦测类

  • 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘
  • 当我们打开Scratch的时候,计时器就工作了,它不停的计数,以”毫秒"为单位,不停的涨,换句话说,我们打开scratch多长时间,它就记了多长时间的值,当然,这个值对我们没有什么用,所以我们需要使用计时器的时候,先使用侦测里的计时器归零。
  • 初始化计时器,让计时器归零重新开始计时

f. 运算类

  • 比较运算,左边大于右边返回true值(真),否则返回false值(假)

g. 变量类

  • 已经建立的变量,我的变量是默认生成的变量
  • 设置变量的值为给定值,通常用于初始化变量
  • 设置变量的值为自身的值加1

(4)角色、舞台背景设置

a. 角色设置

在角色区,点击“选择一个角色”菜单,在角色库中选择Mouse1。起初默认的小猫角色不变。

b. 舞台背景设置

使用默认的背景设置即可。根据题目的要求“在舞台的左下角有一个大字显示的变量,表示抓到的老鼠数量。”,所以需要进行以下的操作:

第一步:勾选我的变量,使其在舞台中显示。

第二步:将我的变量移动到舞台的左下角,点击右键选择“大字显示”。

(5)脚本编写

a. 角色:小猫

流程描述:

根据题目要求:键盘上下左右键控制小猫上下左右移动。

当按向上键时:

  1. 小猫y坐标增加10

当按向下键时:

  1. 小猫y坐标减少10(增加-10)

当按向左键时:

  1. 小猫x坐标减少10(增加-10)

当按向右键时:

  1. 小猫x坐标增加10

b. 角色:Mouse1

创建Start消息:

Mouse1执行代码:

流程描述:

本题的核心是关于计时器的应用。如果Mouse1没有被猫抓住,3秒钟之后,移动到在舞台的随机位置并重新计时等待下一个3秒钟。如果被猫抓住,那么立刻移动到舞台的随机位置并重新计时等待3秒钟。

当按下绿棋时:

  1. 开始:点击绿棋,开始执行代码。
  2. 广播:进行游戏开始的广播(Start)
  3. 重复执行:随机出现在舞台上,等待3秒钟
    • 随机移动:根据题目要求将Mouse1移动到舞台的随机位置
    • 开始计时:计时器归零
    • 等待:重复执行等待计时器到达3秒钟

当接收到Start消息时:

  1. 初始化分数:将我的变量设置为0
  2. 重复执行:判断是否被抓住
    • 如果被猫抓住
    • 隐藏
    • 增分:将我的变量增加1
    • 随机移动:移动到随机位置
    • 显示
    • 计时器归零:重新记录3秒钟

(6)结果展现

4. 考点分析

三级考试大纲与说明

(一)考核目标

进一步认识编程软件的高级功能,对随机数的产生、变量的设置,基于变量的逻辑运算与关系运算的组合使用,解决实际问题;考查画笔模块的更高级操作,应用广播来传递数据,应用克隆来生成克隆体,并灵活控制克隆体;考查对选择语句、循环语句的嵌套使用,以及运用循环简化多次的反复操作程序的理解程度。同时针对参加 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. 画笔:颜色(亮度,饱和度,对比度),图章,擦除图章
  • [x] 6. 广播:广播传递数据,广播并等待,多角色通过广播交互,广播的使用场景
  • [ ] 7. 克隆:克隆自己,删除克隆体,克隆体启动的设置
  • [ ] 8. 逻辑推理,编程数学:判断条件的逻辑关系

备注:

  • [x] 为本题涉及到的知识点。
  • [ ] 为需要掌握,但本题未涉及到的知识点。

(五)题型配比及分值


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多