蓝桥杯scratch集训第八课 有人动了我的鼠标
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
936008 难度一第八课有人动了我的鼠标
本课目标
软件操作
1、熟悉Scratch 软件的常用操作方法。
2、掌握Scratch 程序调试的方法。
积木应用
1、掌握运动积木的用法。
包括:“移到xy”、“右旋”、“面向方向”、“面向鼠标指针”、“移到鼠标指针”积木。
2、掌握外观积木的用法。
包括:“说2 秒”积木。
3、掌握变量积木的用法。
包括:“变量”积木。
4、掌握事件积木的用法。
包括:“当绿旗被点击”、“当角色被点击时”积木。
5、掌握控制积木的用法。
包括:“等待1 秒”、“重复执行”积木。
6、熟悉侦测积木的用法。
包括:“鼠标的x 坐标”、“鼠标的y 坐标”、“碰到鼠标指针”、“到鼠标指针的距离”积木。
其他知识
1、了解“鼠标指针”的知识。
2、了解“分支结构”的概念。
样例介绍
样例名称
本样例名称:有人动了我的鼠标。
故事情节
小猫安静地站在舞台上,观察有没有人动我的鼠标。
一旦有人左右移动了鼠标,小猫就立即说“x 有变化”,否则就说“x 没有变化”。
功能及考点要求
1、程序开始时,新建一个变量x 用于保存鼠标当前位置的x 坐标值。
2、通过循环侦测鼠标的x 坐标值是否发生变化,如果有变化就说“x 有变化”,否则就说“x 没有变化”。
角色素材清单
本样例需要的角色素材清单如下表所示:
表格8-1 角色素材清单
序号角色名称特征描述数量
1舞台背景默认背景 1 幅
2小猫默认角色 1 个
预备知识
鼠标指针
鼠标指针就是那个可以在舞台上到处移动的小箭头。
鼠标指针像角色,他在舞台上也有一个坐标值,用(x,y)表示。
还记得我们在前面的课程用鼠标指针来帮助确定小猫、蝴蝶的位置么?
鼠标指针是不能编程的,但是我们可以通过侦测积木来获取鼠标指针的位置坐标,也可以计算出角色到鼠标指针的距离,还可以判断鼠标指针是否点击了角色。
分支结构
分支结构是程序设计中三大基础结构之一。
主要是用在需要进行逻辑判断的情况下,控制程序执行的路径。
就像铁路上的分道闸,可以控制火车走这条线路,也可以控制火车走那条线路。
分支结构常用于逻辑判断、大小关系比较等条件判断的应用。
Scratch 中的“如果那么”、“如果那么否则”就是典型的分支结构。
使用时需要为分支结构设置一个条件,这个条件可以用“等于”、“小于”、“大于”这样的关系运算符,也可以用“与”、“或”、“不成立”这样的逻辑运算符来设置。
图8-1 分支结构示意图
本样例中小猫在判断鼠标是否移动时,使用了分支结构。
程序的逻辑流程图如下图所示。
图8-2 检测鼠标移动程序流程图
编程实现
程序001
1、程序开始时,新建一个变量x 用于保存鼠标当前位置的x 坐标。
2、通过循环侦测鼠标的x 坐标是否发生变化,如果有变化就说“x 有变化”,否则就说“x 没有变化”。
3、将程序保存,命名为“程序001”。
图8-3 主要程序清单
扩展练习
程序002
1、在程序001 的基础上,再新建一个变量y 用于保存鼠标当前位置的y 坐标。
2、通过循环侦测鼠标的x 坐标或y 坐标是否发生变化,并轮流说出x 坐标和y 坐标的变化情况。
3、将程序保存,命名为“程序002”。
图8-4 主要程序清单
程序003
1、用鼠标抚摸小猫。
当鼠标碰到(划过)小猫的时候,小猫发出“喵”的声音,并且说出“碰到了”。
否则小猫说“没有碰到”。
2、将程序保存,命名为“程序003”。
图8-5 主要程序清单
程序004
1、鼠标就像我们的手一样,小猫享受惯了被抚摸。
它总是盯着鼠标,等在鼠标过来,心里数着自己距离鼠标还有多远。
2、将程序保存,命名为“程序004”。
图8-6 主要程序清单
程序005
1、小猫看见我们手里拿着一条小鱼,它想吃小鱼,于是碶而不舍的跟着小鱼跑。
2、当小猫距离小鱼很近时,它就会激动的“喵喵~~”叫起来。
3、当小猫捉住了小鱼,它就会说“真好吃”,并且停下脚步来。
4、小鱼总是跟着鼠标移动。
5、将程序保存,命名为“程序005”。
图8-7 小猫角色的主要程序清单
图8-8 小鱼角色的主要程序清单
程序006
1、用鼠标点击小猫,第一次点击后,小猫发出“喵”的声音,并且说出“Hello!”显示 1 秒。
2、第二次点击小猫后,小猫发出“喵”的声音,并原地旋转360°(要求能看见旋转的动画效果)。
3、将程序保存,命名为“程序006”。
图8-9 主要程序清单
课程总结
程序001
1、尝试检测Y 轴坐标值变化。
2、讨论如何消除鼠标点击绿旗的时候对程序的影响。
(此时鼠标在绿旗位置,超出了舞台范围,可以等待 1 秒让鼠标回到舞台上再开始采集鼠标坐标)。
程序002
1、总结同时检测两个变量是否发生变化的方法。
2、总结“说话”积木和“说话几秒”积木的区别。
在本样例中,如果x 和y 坐标都发生了变化,使用“说话”积木x 坐标的变化情况就不能显示出来,会被后面的“说话”积木覆盖。
程序003
1、总结检测角色碰到鼠标的方法。
一般是无限循环嵌套条件判断的结构。
2、总结本样例中使用“播放声音”积木和“播放声音直到播放完毕”积木的区别。
程序004
1、总结检测角色到鼠标指针距离的方法。
2、总结让角色始终朝向鼠标指针的方法。
程序005
1、总结角色跟随鼠标指针移动的方法。
2、总结逻辑运算“不等于”积木的用法。
3、总结关系运算“小于”积木的用法。
4、总结分支结构中“如果那么”、“如果那么否则”积木的用法。
5、总结循环结构在程序中的重要性。
程序006
1、总结“当角色被点击时”积木的使用方法。
2、比较在本样例中使用“播放声音”积木和“播放声音直到播放完毕”积木哪个效果更好。
3、总结让角色原地旋转360°的方法。
4、比较直接旋转360°与通过循环旋转360°的动画效果区别。
图8-10 直接旋转与通过循环旋转的区别
5、总结通过循环结构与“逻辑判断+逻辑运算”来侦测鼠标点击角色的方法,这需要同时具备两个条件:第一个条件是此时鼠标碰到了角色,第二个条件是鼠标被按下了。
如下图所示。
图8-11 检测鼠标点击角色的逻辑流程图
对比此方法与使用“当角色被点击时”积木的区别。
本样例在编程过程中,教师可以先演示“鼠标键按下积木”的使用效果,然后引导学员思考使用“碰到鼠标指针”积木和“逻辑与”积木来实现相同功能。
6、总结根据点击角色次数执行不同程序的方法。
进一步认识分支结构的重要性,掌握其用法。
7、了解本例中标识变量“开关”在程序中的作用,它就像一个真的开关,用来控制程序怎么执行。
这种使用标识变量作为分支结构条件的方式,在编程过程中是经常用到的。
我还有疑问
在调试本样例程序的过程中,小朋友们可能会发现一些问题,让我们先把它们记录下来,等学了新的技能后,再来尝试解决吧。
1、移动小鱼的时候,能不能让小鱼始终看着小猫呢?
2、当小鱼变换位置的时候,小猫还在朝着原来的位置跑,能不能让小猫及时调整方向,变得更敏捷呢?。