目前进入2017年已经两个月了,这两个月里,我在科研里如痴如醉,醉把佳人成双对。。。
停停停!这曲子简直就和之前的“药药药,切克闹。。。”一样容易让人跑偏。。。
我们还是严肃地探讨CodeMonkey这个编程游戏吧,我写完51-55关的教程之后,就等着看微信公众号“外滩教育”的反应。这是什么意思呢?事情是这样的,根据网上的教程,CodeMonkey的前50关是免费对大家开放的,从51关开始是要收费的,如果没有交学费,那么就无法使用和学习后面的关卡。我写这些教程期间,一直都是使用外滩的编辑提供给我的账号。外滩的编辑肯定知道这些,但是他们默认允许我使用他们的账户,这有两种可能,一是他们也在极力为普及和推广少儿编程这个相对新颖的事业,所以默认我这么做;二是他们压根没精力管我。而我偏向于第一种可能性!
下面进入正文,我在这篇文章里介绍第56-60关的通关攻略,这几关主要介绍for循环的用法。
在介绍关卡前,我先简要介绍下知识点:
知识点:for 循环
for循环是为了一遍又一遍重复运行“功能相同但其中某个值有变化”的代码。
例如:在过年给红包的时候,希望给年龄越大的孩子越多的红包,可以这么决定
for 年龄 = 【1岁 2岁 3岁 4岁】
红包数额 = 100人民币 * 年龄;
end
意思是:给1岁的孩子100块红包,2岁200块,3岁300块,4岁400块,等等。
这段简单的代码就可以说明for循环的本质:重复运行“功能相同但其中某个值有变化”的代码。所有编程语言里的for循环都遵循这个思想。
下面正式介绍关卡:
第56关
进入第56关,就可以看到猴博士的谆谆教诲:
如果只有一个香蕉,当然用不着for循环。当有多个香蕉的时候,小猴子怎么办呢?当然,我们可以写一段代码,让小猴子吃一个香蕉;再写一段,再吃一个。。。小猴子当然没什么不乐意的,毕竟他有香蕉吃,我们呢?写for循环的代码就是为了让代码量减少,代码效率提升,这种提升是通过for循环的重复使用体现的。
我们的任务是:再for循环下写一段代码,让小猴子跟着for循环吃到所有香蕉。
进入关卡,界面如下:
我左看右看,这些代码已经可以直接用了,不需要我们再写什么。
直接点击运行,效果如下:
虽然小猴子吃到了所有的香蕉,但是他走了太多的路。这个代码还是可以改进的,比如让小猴子每次吃距离他最近的香蕉,就可以避免来回跑,节省了运行时间。
第57关
这一关的界面如下:
我们会看到,这些香蕉排成了一个S型长队,等着小猴子吃,在这里,我们先假定小猴子不怕撑。我们先看看小猴子的代码:
代码“turnTo b”是让小猴子面向每个代表香蕉的变量“b”,这无法让猴子吃到香蕉,所以我们还需要写一行代码,让小猴子面向香蕉之后,大胆地向香蕉走去,一个可能的补充是如下这样的:
点击运行,我们可以看看效果:
这一关,我们写了一行代码,比上一关只是围观要更有意思,好期待下一关会发生什么!
第58关
这一关,我们来到了水中:
欺负小猴子不会游泳。。。那么只能让小龟龟背着小猴子去吃香蕉了,为什么我脑中想起了孙悟空踩着七彩祥云去见紫霞仙子的场景……可惜这里没有七彩祥云,只有小龟龟。
再看看代码区域:
只有一行代码,就是依次处理bananas里的每一个香蕉。
到这里我们可以点击小龟龟,自然就出现了turtle。然后我们点击代码框下面的各个代码指令。我写的代码如下:
效果如下:
成功!
在前两关里,我们让小猴子面对香蕉(turnTo b),让小猴子直接走向香蕉(step distanceTo b)。
但是在这一关,我们不是让小猴子动,而是通过小龟龟(turtle)带着小猴子去动。
下一关会发生什么呢?
第59关
猴博士告诉小猴子,这一关有老鼠。不要怕,这里的老鼠很可爱的。
我们需要赶走老鼠,你可以试试对着电脑说:“老鼠,走开!”,你会发现,这样一点用都没有。我们看看正常的做法是:
让小猴子对着老鼠们打招呼,他们自然就跑了。
之后就和前三关,尤其是前两关一样了,用for循环让小猴子吃到香蕉。代码如下:
对比这一关和前三关的代码,我们发现,其实这关多了让老鼠们走开的步骤。点击运行,效果如下:
我们可以看到,小猴子两边来回跑的毛病还是没有改,可能是香蕉吃多了,要多动动,达到瘦下来的效果,不然人们怎么有“瘦猴子”的说法呢。
成功!
这4关下来,我们的孩子基本就会写一个完整的for循环了。
那下一关有什么新的挑战呢?我们拭目以待!
第60关
我们先看看这一关的画面:
小猴子的面前是一条河,他需要通过河上的一座木桥来过河,然后他就可以大快朵颐,尽情吃香蕉了。
那么我们写代码的时候,需要首先让小猴子过河,代码如下:
小猴子过河之后,就可以按照前几关学到的for循环,写下如下代码:
我们来看看效果吧:
挑战成功!
这一关和第4关的区别是,把“让老鼠们离开”换成了“过一座木桥”,换汤不换药。
总结:通过这5关的学习,我们的孩子可以掌握for循环在这里的作用:让小猴子一遍又一遍重复做同样的动作,每次都针对不同的香蕉,从而最后把所有要吃的香蕉都吃完。
其实这就是我们在编程中使用的思想,我平时做科研,写代码,在很多场合都要用到for循环,比如调模型的参数,让模型不停迭代直到收敛等等。
希望对大家的孩子学习编程有所帮助,下一次我会介绍第61-65关。
网友评论