少儿编程游戏CodeMonkey通关攻略:第81-85关

近日,各大高校陆续发布2017年自主招生简章。

(不要这么严肃好不好?好吧。。。)

其中清华大学招生领导小组给出的招生申请条件第一项就是:

“1.研究创作类:在科技发明、研究实践、文学创作等方面具有突出表现的学生。”

北京大学(引用2016年的内容)给出的申请条件第一项也是:

“1、有发明创造或参加科技类、人文社科类竞赛全国决赛或国际比赛获得优异成绩者;”

其他高校也是遥相呼应啊,比如中国第一所近代大学天津大学(北洋大学堂的前身)在今年3月27日给出的自主招生简章里就明确规定报名条件是:

“(一)高中阶段参加全国中学生学科奥林匹克竞赛(数学、物理、化学、信息学)、青少年科技创新大赛(青少年创新项目)等竞赛,获得省级赛区一等奖(含)以上;

(二)高中阶段获得全国中小学生创新作文大赛高中组全国决赛特等奖;

(三)高中阶段以第一发明人身份获得国家授权发明专利;

(四)在学科特长或创新潜质方面有突出才能或极大潜力(要求自附详细材料说明)。”

由此可以看出清华北大最先重视的就是有研究和创新能力的高中生,而天津大学作为传统工科强校,提出的四个报名条件里有三条是和创新,研究相关的能力,比如科技创新,发明,创新潜质。

这些能力并不虚,而是可以通过申请人的简历一目了然地看出来。

作为一个在理工科学习和研究将近10年的博士生,我看到一份简历,就能大概知道对方的水平在什么层次,是门外汉,新手,刚入门,还是老司机,额,错了,是老师傅。

因为简历可以反映申请人到底有没有做项目的经历,申请人的思想、喜好、以及目前所拥有的创新能力。因为创新能力可以后天培养,所以简历里还基本反映了申请人对研究的喜爱和努力程度。

那些在高校里做了几十年研究的老教授们呢?他们比我见过更多的学生,带过更多的研究生,基本上一眼就可以把这个孩子的潜力看得八九不离十。所以没有实力的申请人必然会被淘汰,而那些越早接触科研的学生,就会越有优势。

我在这里也提醒大家,如果想让自己的孩子在未来有一个好的出路,就算不申请名校的自主招生项目,也要尽早培养孩子的好奇心,和对科学研究的兴趣。因为孩子未来能解决多大的问题,直接决定孩子未来人生的高度。

关于这些我们未来再仔细探讨。

千里之行,始于足下。

我们要让孩子从培养兴趣和打好编程基础开始,学习CodeMonkey这个编程游戏里相关的编程知识。

今天我们继续学习“函数”王国的最后5关:第81-85关。

第81关

本关一开始,猴博士告诉咱,不要担心,这一关我们只需要改一点就可以通关啦。

来看看这一关发生了什么事情:

我们看到,小老鼠和要捡的火柴之间搁着一座木桥,它需要经过木桥,捡起火柴,然后往回走,再次经过木桥,从而把火柴放在火柴堆上。

这是右侧代码框里已有的代码:

我先解释下这些代码:

第1-3行:定义goto函数,这个函数在我们之前的教程里已经有大量用处,这里不再解释。

第4,5行:注释行,告诉我们下面的crossBridgeTo这个函数需要被修复。

第6-8行:定义crossBridgeTo函数,函数的作用对象被定义为p,这个函数的作用是让小老鼠先走到木桥,再走到函数指向的对象p。所以第7行应该改为“goto bridge”。

第9行:注释行,说明第10-13行的代码没有问题。。

第10行:把crossBridgeTo函数作用于match,即火柴。

第11行:让小老鼠捡起火柴。

第12行:把crossBridgeTo函数作用于pile,即火柴堆。

第13行:让小老鼠放下火柴。

修改后的代码可以是这样:

还等什么?点击运行,看看效果吧!

通关!

第82关

这是第82关!

在左侧的画面里,小老鼠和火柴堆在小河下方,而三根火柴在小河上方,小河上有一座木桥。

这一关与上一关的差别是,这一关里小老鼠需要去捡三根火柴,而上一关小老鼠的工作量只有一根火柴。

有了之前学过的for循环,别说三根,就算给我1亿根,我也能让小老鼠捡完。

我们先看看右侧的代码框。

第1-3行:定义goto函数。

第4行:注释行,说明第5-7行的代码没有问题。

第5-7行:定义crossBridgeTo函数,即先走到木桥,再走到函数的对象v。

第8-11行:注释行,告诉我们通过crossBridgeTo函数,要让小老鼠带着对象z走到火柴堆。

第12行:开始定义collectThruBridge函数,对象用“z”代替。

第13行:注释行,需要修改,从而定义collectThruBridge函数。

第14行:注释行。

第15,16行:对于小河对面的每一根火柴,都用collectThruBridge函数作用于它从而把所有火柴都捡回到火柴堆里。

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

大家重点看第14-17行,因为collectThruBridge这个函数的目的是让小老鼠经过木桥,走到某根火柴,捡起它,回到木桥,走到火柴堆,放下捡来的火柴。

所以我的解决方案是:

第14行:经过木桥走到某根火柴那里。

第15行:捡起火柴。

第16行:经过木桥走到火柴堆那里。

第17行:放下火柴。

点击运行,看看效果吧(只放了一部分效果)。

通关!

第83关

第83关,猴博士提醒我们,像islands,rafts之类的物体也可以作为函数的参数来使用。

其实这里的表述不是特别严谨,所谓函数的参数,应该改为函数的对象更为合适一些。

我们来看看这一关的画风是怎样的。

在左边的画面框里,我们看到老鼠需要先走过6个小岛,即islands,走到火柴那里,然后捡起火柴,再经过6个木筏,即rafts,最后把火柴放在火柴堆上。

在右边的代码框里,我们看到已经给出的函数是这样的:

第1-3行:定义goto函数。

第4行:注释行,告诉我们在第5-8行里有问题,我们需要解决这个问题,才能让小老鼠完成我们的目的。

第5-8行:定义gotoAll函数,这是因为goto函数只能一次做一个操作,比如goto岛a,那么只能走到岛a,走到岛a之后就不再行动了。但是这里一共有6个岛,除第一个岛之外,小老鼠需要走过5个岛。为了简单起见,就用gotoAll来执行这样的操作:让小老鼠走过所有的对象。那么我们看到,第7,8行有点重复第2,3行的内容,其实用一句“goto s”就可以代替了。

第9行:注释行,说明下面几行需要被修复。

第10行:让小老鼠经过所有的岛。

第11行:空行,这里小老鼠需要执行捡起火柴的操作,所以需要写上一句grab()。

第12行:让小老鼠经过所有的木筏。

第13行:空行,这里小老鼠需要执行放下火柴的操作,所以需要写上一句drop()。

我给出的代码如下:

我们可以点击试试,看看效果!

通关!

第84关

这一关我们需要借用乌龟来让小老鼠在小河上移动起来。

这难度比前几关要难一点,因为前几关的木桥是不能移动的。

在左侧的画面框里,小老鼠在乌龟的背上,需要上去捡起火柴,然后返回到乌龟上,此时的乌龟可以被视为前几关里的木桥,小老鼠接着把捡到的火柴放在火柴堆上。然后乌龟此时移动起来,让小老鼠可以去捡其它几根火柴,此时乌龟的功能比前几关的木桥更强大,相应地,我们也需要写相关代码来操控乌龟。

以下是系统给出的代码:

第1-3行:定义goto函数。

第4-6行:注释行,告诉我们需要做什么。

第7-10行:定义getAndReturn函数,对象为r。顾名思义,这里的r应该是火柴,我们需要走向r,捡起r,然后返回到出发的位置。

第11,12行:注释行,我们可以改动来延续第7-10行要完成的任务。

第13行:注释行。

第14-19行:for循环,让小老鼠把火柴m捡起并返回,走到火柴堆,放下火柴,走到乌龟背上,乌龟向左走8步。

我给出的解决方案如下:

在第11,12行里,我让小老鼠捡起火柴,并且往回走d步。

这下子,getAndReturn函数就完成了让小老鼠“面向火柴”(turnTo r),“定义d为小老鼠与火柴之间的距离”(d=distanceTo r),“走d步”(step d),“捡起火柴”(grab()),“往回走d步”(step -d)的操作。

点击运行,看看效果吧!因为持续时间过长,我只放了一部分效果,以后运行时间越来越长的时候,我会把过程分成几个动图来显示。

过关!

第85关

猴博士告诉我们,我们可以把函数的参数设为数字。

整体界面如下:

在左侧的画面框里,我们看到小老鼠在最上方,三个乌龟分别趴在三条河里,这里我们需要让三个乌龟动起来,从而让小老鼠过河。

来看看已有的代码:

第1-3行:定义goto函数,对象为t。
第4-8行:定义collect函数,对象为m,即让小老鼠收集m:走向m,捡起m,走向火柴堆,放下m。这里的m应该是火柴。

第9,10行:注释行,让下面的第11-13行代码(allTurtlesStep函数)执行“让所有乌龟前进d步”的指令。

第11-13行:完成allTurtlesStep函数。

第14行:注释行。

第15-18行:“所有乌龟前进10步”(第15行),“小老鼠收集火柴0”(第16行),
“所有乌龟后退10步”(第17行),“小老鼠收集火柴1”(第18行)。

我给出的代码是这样的:

第11-13行要完成allTurtlesStep函数,所以我用一个for循环,让每一只乌龟都前进d步。

点击运行,看看效果!

这是小老鼠收集火柴0的过程:

这是小老鼠收集火柴1的过程:

通关!


是不是很开心?

在这5关里,我们闯过了“函数”王国里的最后5关。这一共15关(第71-85关)的“函数”王国,让我们学会了如何定义函数来完成某些需要重复执行,先后执行的操作。这些函数的功能还是很强大的。

在接下来的15关里,我们将要学习如何利用“直到”(until)来完成一些不知道要循环多少次的循环指令。

希望大家喜欢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容