(共24张PPT)
第20课
相遇问题
学习目标
巩固与扩展
项目讨论
逻辑编程
1
2
3
4
1
两个物体从两地出发,相向而行,经过一段时间,必然会在途中相遇,这类题型就把它称为相遇问题。
2
3
4
巩固“重复执行直到...”、“广播”、“运算”等脚本
学习“加速模式”、“计算机量化思想”等
综合应用所学脚本完成编程项目并扩展
计算思维:
巩固脚本:
计算机量化思想
1.本节课用到的角色
2.本节课用到的背景
小猫
小狗
Colorful City
《相遇问题》
气球
1.相遇问题是研究哪三者之间的关系?
2.相遇问题的路程关系式?
3.相遇问题的时间关系式?
4.相遇问题的速度和关系式?
速度、时间、路程
路程=速度和×相遇时间
相遇时间=路程÷速度和
速度和=路程÷相遇时间
《相遇问题》
1.准备项目素材
1.添加角色小狗、小猫和气球
将小猫和小狗的角色大小,设置为30,气球大小为100.
2.添加一个背景
1.准备项目素材
2.编写项目初始动画
1.点击小绿旗后,小猫和小狗奔跑,气球在天上飞。
注意:起始位置与背景的白线平齐
小狗脚本
2.编写项目初始动画
1.点击小绿旗后,小猫和小狗奔跑,气球在天上飞。
注意:起始位置与背景的白线平齐
小猫脚本
2.编写项目初始动画
1.点击小绿旗后,小猫和小狗奔跑,气球在天上飞。
气球动态效果
气球脚本
3.编写变量赋值脚本
1.当我们点击气球的时候,广播“开始相遇问题”
广播“开始相遇问题”,要传播给小猫和小狗,小猫、小狗收到“开始相遇问题”的广播后,回到各自的起点。
气球脚本
3.编写变量赋值脚本
2.当小猫收到广播“开始相遇问题”后
小猫脚本
收到广播后,停止角色其他脚本,停止动态效果。
回到起始位置,X坐标为-200,小狗X坐标为200,这样默认距离是400. Y坐标-115是为了和背景白线保持平齐.
将变量“小猫速度”设为用户输入的值
让小猫自己说出当前的速度值
3.编写变量赋值脚本
3.当小狗收到广播“开始相遇问题”后
小狗脚本
我们利用“等待直到小猫速度不为0”这个脚本,实现对小猫和小狗速度的先后赋值。完成小猫速度的赋值以后,等待2秒,弹出小狗速度赋值的对话框。
3.编写变量赋值脚本
4.当小狗速度赋值完以后,小狗发起“开跑”命令
小狗脚本
小狗赋值完毕后,由小狗发送广播“Run”,下达开跑命令。
4.编写开跑脚本
1.当小猫收到广播“Run”后
小猫脚本
我们新建一个变量“小猫X坐标”,并将该变量实时赋值为小猫的当前“X坐标”的值。
小猫的奔跑速度为用户输入的速度
4.编写开跑脚本
2.当小狗收到广播“Run”后
小狗脚本
我们新建一个变量“小狗X坐标”,并将该变量实时赋值为小狗的当前“X坐标”的值。
在小狗的脚本里,我们根据小狗到小猫的距离是否小于5,来判断两者是否相遇。
注意:相遇的距离<5,这个数值由于图形化脚本的执行效率问题,需要随着小猫和小狗的移动速度变大,而适当调整大。这里可以看作相遇的误差
5.编写相遇后脚本
1.当小猫收到广播“相遇了”后
小猫脚本
收到广播“相遇了”后,回到初始位置,停止其他脚本后,计算出自己跑了的距离。
距离 = 当前坐标 - (-200)
注:-200为小猫的起始X坐标,小猫向舞台右侧跑,X坐标逐渐增大。
收到广播“相遇了”后,回到初始位置,停止其他脚本后,计算出自己跑了的距离。
距离 = 200 - 当前坐标
注:200为小狗起始位置X坐标,小狗往左侧跑,X坐标减小。
5.编写相遇后脚本
2.当小狗收到广播“相遇了”后
小狗脚本
Q1:怎么实现对小猫和小狗的速度先后赋值呢?
A1:根据小猫的速度是否等于零,判断小猫的速度有没有赋值完。
Q&A
(1)
(2)
利用小猫速度变量是否等于0,实现小猫和小狗速度的先后赋值,这个小应用,需要仔细体会一下。
知识点巩固
注意“停止角色的其他脚本”与广播的结合应用
明明给小狗编程的时候,相遇时使用到小猫的距离=0,会出现什么问题?
A
B
源码测试
可以检测到相遇
不能检测到相遇
答案:
解析:
B
源码测试
理论上两者相遇的时候,距离应该等于0,但是由于图形化脚本的执行效率问题,会存在判断误差,所以这个值需要根据小猫和小狗的奔跑速度来适当调整。