课程一:创意启蒙课程
招生对象 3-5岁孩子;少儿编程创意启蒙课程根据主题情景,借助于专业乐高教具,外形模拟或机械传动,搭建出与主题相符的作品,学习相关百科知识,配合少儿智力发育敏感期,锻炼儿童语言表达、动手、创造等多方面能力。
少儿编程培训机构排名
01
问题说明
在Scratch编程入门中,如果喜欢玩《消灭方块》这个游戏的肯定会发现,当弹球碰到方块时,方块竟然没有消失,而弹球能反弹!
至于问题复现,因为没有录屏,所以没有相应的视频,但可以通过案例项目文件本地复测。
案例可以通过关注本公众号(麒麟安全实验室)回复:
消灭方块bug版本
即可获取
02
问题分析与处理
2.1、问题分析
整体的方块逻辑这里就不细讲,我们主要来分析碰到方块的过程代码:
????????弹球代码:
????????当弹球开始运动后,通过重复执行,不断判断是否碰到方块,碰到方块后,改变运动方向(反弹)。
? ? ? ??方块代码:
一行方块是通过克隆完成,克隆体启动后,通过重复执行直到”碰到”弹球,才删除克隆体(方块消失)。
虽然整体逻辑似乎没有问题,两个都是启动后,通过重复执行判断对应条件是否满足。
正因为这两个重复执行判断问题,在计算机中,Scratch程序中执行命令其实还是存在先后顺序的,也就是同步执行,按照一定的流程来执行,虽然两个重复执行的条件判断,计算机CPU在运行时,还是分别按先来后到判断,只不过很多时候,前后运行的时间间隔很短,可以忽略不记,不过在重复循环判断重,因为大量的判断,也会引起时间上存在较大间隔(秒级)。
本案例中,肯定存在以下步骤:
1.? 执行弹球判断是否碰到方块后,
2.? 再有方块判断是否碰到弹球的的情况
第一步中,判断之后,弹球就会改变方向(反弹)并且移动5步(此时肯定没有碰到方块了),再第二步运行方块判断是否碰到弹球时,肯定就条件不成立了!因此也就无法删除克隆体(方块就不会消失了),就出现了克隆体失效的问题。
????????弹球:
????????方块:
03
问题总结
从本案例中,我们可以总结出,当两个物体相互碰撞时,要控制另一个物体做出变化(消失、变大等),一定要考虑下是否存在同步问题
招生对象 3-5岁孩子;少儿编程创意启蒙课程根据主题情景,借助于专业乐高教具,外形模拟或机械传动,搭建出与主题相符的作品,学习相关百科知识,配合少儿智力发育敏感期,锻炼儿童语言表达、动手、创造等多方面能力。
招生对象 6-18岁青少年;人工智能编程课程依托达内16年编程教育经验,研发一套系统的少儿编程课程体系,内容涵盖少儿启蒙编程(Scratch)和少儿趣味编程(Python、JavaScript、Java)等,培养编程思维,提高中国孩子的综合能力。
招生对象:6-12岁青少年;智能机器人编程课程根据挑战任务,借助于专业教具,用积木搭建出机器人外观,编程实现机器人的功能,将创意变成实物,锻炼学生的多方面能力的课程。
招生对象:8-18岁青少年;信息学奥赛(全国青少年信息学奥林匹克联赛(NOIP))的竞赛辅导课程,是面向小学四年级及以上的中小学生,主要使用C 语言培训。学员可参加NOIP比赛。