1389| 1
|
【临沂】【古德微】第8课 创课小作品——警察抓小偷 |
本节课我们来实现灯带上小灯的追逐效果,仿佛一名警察在追逐前面的小偷,追上还是追不上全凭各位同学程序的设定了。 首先我们来制作一个流水灯,在上一节课我们已经学习过怎样制作一个流水灯的效果,本节课我们换一种思路来制作流水灯。 首先我们新建一个函数命名为“初始化”。 新建三个变量命名为“灯带点数”,“蓝色”,“无色”。 这样就可以实现一个小灯奔跑的效果了。 思考:为什么循环里面i是从1开始的呢? 为什么有前面简单的程序不用而要这么麻烦呢?这是为了进行我们接下来的任务。 任务二:整条灯带是蓝色的只有一个红色的灯从头跑到尾。 要完成这个任务我们只要稍稍修改一下上面的程序就可以了。 添加二个变量“红色”,“设定颜色”,新增函数“点亮整条灯带”。 看下效果是不是实现了我们的任务二的要求。 我们继续加深任务难度。 任务三:在整条蓝色的灯带上有两个颜色不同的灯相差n的距离在一前一后的奔跑。 新建变量“绿色”代表警察,那么变量“红色”就代表小偷,新建变量“j”表示相差的距离n。 这样就可以实现任务三的要求了,通过观察我们发现两个小灯之间的距离是不变的,如果这样的话警察就永远抓不住小偷了,下面我们继续改进这个程序,让警察逐渐追上小偷。 任务四:在前面任务的基础上实现前面的小灯慢,后面的小灯快。 怎样实现前面小灯慢,后面小灯快的效果呢?这里我们用一个条件积木“如果,那么”。如果警察跑两步时小偷才跑了一步一步这样的话警察不就抓住小偷了吗。 前面两个函数不变,只需要修改主程序为: 这样就可以实现绿灯每走两步红灯走一步的效果。 通过实验我们观察到当绿灯追上红灯后还是会一骑绝尘的继续跑下去,这就不太符合我们警察抓小偷这个故事的流程了,我们接下来继续完善程序实现:1,当绿灯追上红灯后整条灯带显示绿色代表警察胜利。或者2,红灯走到灯带的末尾后整条灯带显示红色代表小偷成功逃脱。 两个函数不变,修改主程序: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed