友情提示:380元/半年,儿童学编程,就上码丁实验室。
“ 上一次我们的比赛还有些小问题,接下来我们来修改一下!”
还记得之前内容中最后的时候,虽然已经做到只要有人到了就会停止比赛,但是还是会发生大家一起喊:“我赢了”的情况。
PS: 【Scratch3-植物大战系列】— 僵尸的比赛(2)
这个与我们原先设定的不太一样,这种不太一样,在编程界里,通常可以被称为“Bug”。
01
—
何为“Bug”
Bug一词在英文中本来是虫子,臭虫之意。那为什么会用来表示程序的问题呢?
格蕾丝·霍波
这就离不开上面这位,格蕾丝·霍波中尉,具体是怎么回事呢?
当时人们还在使用第一代真空计算机(马克二型),这种计算机是依靠控制电流来改变开关,从而实现控制,但是它会发出大量的热和光。
1949年9月9日,天气非常炎热,有一只蛾死在了70号继电器里面,造成电路不通,机器死机。 经过近一天的检查,Grace Hopper(格蕾丝·霍波)终于找到了真凶,原来正是被光吸引过来的娥造成了机器宕机。 在这儿之后,在计算机科学中,Bug就从虫子变成了程序的缺陷,一只虫子就这样被载入了计算机史册。 |
所以,第一份bug记录是这样的。
看见上面黄色区域的小虫子了吗,它就是第一个bug。
02 —
如何修复Bug呢
接下来,让我们来修复这些问题,问题主要有:
-
大家一起喊“我赢了”
-
小猫喊:预备,开始时选手们没有马上准备好的问题
让我们开始吧!
1、大家一起喊“我赢了”
可以将广播变成专线广播,就是建每个选手自己的广播,谁的先开始,就谁先喊。
按照这个操作方法,大家把另外两位选手的广播分别改成“t2我赢了”,“t3我赢了”(当然大家可以取自己喜欢的名字),让我们来看一下效果。
PS:这样的话,大家可以给每个选手分别录入不同的胜利宣言,不用像现在这样每个人都说一样的:“我赢了”。
2、小猫喊:预备,开始时选手们没有马上准备好的问题
这个相对就比较简单了,只要让小猫分开说,而且,说完开始后,选手们就回到自己的初始位置,然后在说开始。
上面发现了吗,我们用了一个【广播xxx等待】的积木,它与另一个广播不同的是他会等被广播的脚本执行完,然后再执行它下面的脚本。
然后我们修改一下选手的脚本,让他们在收到“预备”的广播后,就赶紧准备好,等“开始”的广播后,选手们就开始。
好了,按照这样的设置,我们给其他选手都设置一下吧。
来看一下效果。
好了,比赛是不是越来越完美了,大家可以想想看,我们能不能给每次比赛的第一名加分呢。
剧透:我们马上要进入基础拓展课的最后一课了,讲一讲最关键的变量。
转自公众号:
浩浩学编程