少儿编程游戏CodeMonkey通关攻略:第96-100关

作者: 君君玩科技 | 来源:发表于2017-04-16 16:39 被阅读455次

    今天我们一起玩until循环的最后5关:第96-100关。

    这几关增加了猫咪抓老鼠的环节,游戏更加有趣,也让小孩子们更加理解为什么要使用until循环:直到猫睡觉之前,小老鼠是不能轻举妄动的!这也是until循环与for循环的最大区别:在for循环里,我们知道循环次数;但是在until循环里,我们不知道循环次数。这在实际中是真实存在的,比如,我们不知道性情难以捉摸的猫咪什么时候睡觉,因为只有当猫咪睡觉之后,小老鼠才能活动起来!

    Until the cat is sleeping, the mouse can go to the match and grab it!

    So, let's begin!

    哎呀,我的英文水平暴露了。。。

    第96关

    我们已经提出,这几关里,小老鼠需要等待猫咪睡着之后,才可以动身去捡火柴。

    我们先看看这一关的画面:

    小老鼠啊,你趴在火柴堆上干什么啊。。。

    你这样貌似也不能隐身啊。。。

    不管如何,还是先看看右边的代码吧:

    在这个代码里,第1-3行定义了goto函数,第4-8行定义了collect函数。

    第11-14行是正式的操作指令:小老鼠在猫咪睡着之前保持等待状态,在猫咪睡着后走15步。其中wait()指令表示等待!

    很明显,问题出在这个step 15上,走15步与上面定义的两个函数没有任何关系,也无法让小老鼠捡起火柴放回火柴堆。

    下面是我修改后的代码:

    只需要把step 15改成collect match就可以啦!

    点击运行看效果!

    满分通关!

    第97关

    用wait指令等待猫咪睡觉,这个我们在上一关就看到了。

    看左边的画面框,我们发现,其实这一关比上一关多了2根火柴而已。不过小老鼠携带能力有限,一次只能捡起一根火柴。要让小老鼠依次收集这三根火柴,我们需要使用for循环。

    看看右边的代码框:

    第1-3行仍然是定义goto函数,第4-8行定义collect函数。

    下面是我给出的一个解决方案:

    第9-12行,让小老鼠每次收集一个火柴,注意要用until循环让小老鼠在猫咪睡着时去收集火柴。

    如果在小猫咪醒着的时候去捡火柴,小老鼠会被猫咪追赶,并被吓得落荒而逃。

    点击运行看效果!

    这是小老鼠收集第一根火柴的过程。

    这是小老鼠收集第三根火柴的过程。

    满分通关!

    第98关

    其实,前两关里的until代码可以放在函数里面,比如放在collect函数里,也就是在小老鼠在去收集火柴之前等待猫咪睡着。

    先看看这一关的界面:

    在左边的画面框里,小老鼠需要过一座木桥,再去收集火柴。这没有什么难度,多一行goto bridge代码就可以解决。

    我们看看右边的代码框:

    第1-3行仍然定义goto函数。

    第6-11行定义safeCollect函数,在这个函数里,我们需要在goto t之前加入until循环,也就是在去收集之前等待猫咪睡着。

    我给出的修改方案如下:

    点击运行看效果,这里我只给出小老鼠收集第一根火柴时的过程。

    满分通关!

    第99关

    这一关与前几关的不同之处在于,在这一关里,火柴是被蚂蚁拖着不停运动着的。所以我们需要把前几关的goto函数改成chase函数。

    在左侧的画面框里,我们可以看到火柴是被蚂蚁拖着不停运动着的。

    在右侧的代码框里,系统把前几关的goto函数改成chase函数。

    我们需要定义chase函数,chase是追逐的意思,也就是小老鼠要不断面向火柴,并走向火柴,直到从蚂蚁手里抢到火柴。

    另外,在safeCollect函数里,我们依然需要像在第98关里一样,加入until循环,让小老鼠不被猫咪抓到!

    点击运行看看效果!

    还不错,满分通关!

    第100关

    今天的最后一关!

    猴博士好大的口气,再来三个。。。什么?

    是再来三个运动着的火柴!

    左边的画面框是我们熟悉的界面,小老鼠在每次出去从蚂蚁手里抢火柴之前,需要等待猫咪睡着。

    右边的代码框里什么都没有。

    我根据前几关的经验,写出的代码如下:

    第1-4行,定义chase函数。

    第5-9行,定义collect函数。

    第11-14行,让小老鼠收集每一根火柴。

    当然,我们也可以把until代码放在collect函数里,然后把collect函数改写成safeCollect函数,代码如下,我就不解释了:

    我们按照第一个版本的代码运行,看看效果如何!

    这是小老鼠追逐第一根火柴的过程。

    这是小老鼠追逐第三根火柴的过程。

    满分通关!

    结语:

    until函数对于循环次数不定的情况,比for循环更加灵活!

    ----------------------------------------------------------------------华丽的分割线----------------------------------------------------------------------

    下一次教程,我们将学习if判断语句,期待if语句可以让我们写出更加强大而灵活的代码!

    相关文章

      网友评论

      本文标题:少儿编程游戏CodeMonkey通关攻略:第96-100关

      本文链接:https://www.haomeiwen.com/subject/srmaattx.html