【临沂】【古德微】第8课 创课小作品——警察抓小偷

2020-04-122283
AI 快速预览详细 收起
本节课介绍了如何使用古德微平台和灯带实现警察追小偷的编程项目。首先制作一个简单的流水灯效果,然后逐步增加难度,通过新建变量和函数,实现整条蓝色灯带上红色灯和绿色灯的追逐效果。通过条件积木“如果,那么”,控制前面的小灯慢、后面的小灯快,模拟警察逐渐追上小偷的过程。最终,当绿灯追上红灯后,整条灯带显示绿色代表警察胜利;或者红灯走到灯带末尾后,整条灯带显示红色代表小偷成功逃脱。
本节课我们来实现灯带上小灯的追逐效果,仿佛一名警察在追逐前面的小偷,追上还是追不上全凭各位同学程序的设定了。
首先我们来制作一个流水灯,在上一节课我们已经学习过怎样制作一个流水灯的效果,本节课我们换一种思路来制作流水灯。
首先我们新建一个函数命名为“初始化”。
【临沂】【古德微】第8课 创课小作品——警察抓小偷图1
                              
新建三个变量命名为“灯带点数”,“蓝色”,“无色”。
【临沂】【古德微】第8课 创课小作品——警察抓小偷图2
【临沂】【古德微】第8课 创课小作品——警察抓小偷图3
这样就可以实现一个小灯奔跑的效果了。
思考:为什么循环里面i是从1开始的呢?
为什么有前面简单的程序不用而要这么麻烦呢?这是为了进行我们接下来的任务。
任务二:整条灯带是蓝色的只有一个红色的灯从头跑到尾。
要完成这个任务我们只要稍稍修改一下上面的程序就可以了。
添加二个变量“红色”,“设定颜色”,新增函数“点亮整条灯带”。
【临沂】【古德微】第8课 创课小作品——警察抓小偷图4
【临沂】【古德微】第8课 创课小作品——警察抓小偷图5
【临沂】【古德微】第8课 创课小作品——警察抓小偷图6
看下效果是不是实现了我们的任务二的要求。
我们继续加深任务难度。
任务三:在整条蓝色的灯带上有两个颜色不同的灯相差n的距离在一前一后的奔跑。
新建变量“绿色”代表警察,那么变量“红色”就代表小偷,新建变量“j”表示相差的距离n。
【临沂】【古德微】第8课 创课小作品——警察抓小偷图7
【临沂】【古德微】第8课 创课小作品——警察抓小偷图8
【临沂】【古德微】第8课 创课小作品——警察抓小偷图9
这样就可以实现任务三的要求了,通过观察我们发现两个小灯之间的距离是不变的,如果这样的话警察就永远抓不住小偷了,下面我们继续改进这个程序,让警察逐渐追上小偷。
任务四:在前面任务的基础上实现前面的小灯慢,后面的小灯快。
怎样实现前面小灯慢,后面小灯快的效果呢?这里我们用一个条件积木“如果,那么”。如果警察跑两步时小偷才跑了一步一步这样的话警察不就抓住小偷了吗。
前面两个函数不变,只需要修改主程序为:
【临沂】【古德微】第8课 创课小作品——警察抓小偷图10
这样就可以实现绿灯每走两步红灯走一步的效果。
通过实验我们观察到当绿灯追上红灯后还是会一骑绝尘的继续跑下去,这就不太符合我们警察抓小偷这个故事的流程了,我们接下来继续完善程序实现:1,当绿灯追上红灯后整条灯带显示绿色代表警察胜利。或者2,红灯走到灯带的末尾后整条灯带显示红色代表小偷成功逃脱。
两个函数不变,修改主程序:
【临沂】【古德微】第8课 创课小作品——警察抓小偷图11
通过本节课的学习,在程序的构造过程中同学们有没有一些收获呢,动手操作一下把自己的想法一一实现吧。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
rzyzzxw
rzyzzxw
挺有趣的啊。感谢分享。
- 没有更多了 -