少儿编程游戏CodeMonkey通关攻略:第71-75关

今天我们进入“函数”王国,学习函数的作用。

什么是函数?

函数就是一个黑箱子,你给函数一个输入,函数就会给出一个输出。

举一些例子吧,我们人就是很多函数的组成。

我们看到父母和爱人,就会满心欢喜。

我们听到孩子的声音,心就会瞬间融化。

我们闻到美味的食物,就会暴露出吃货本性。

等等等等。

是什么在控制着我们的反应?

是我们身体里的函数。

我们身体里的函数控制着我们去完成一个个基本独立的动作。

就像在编程里,我们用函数去控制角色完成任务一样。

所以,你明白了吗?

函数就是这么简单,而又狂拽炫酷X炸天。。。

开始我们的闯关吧!

黑猩猩用炸弹把猴子必经的河流上木桥给炸断了,猴子找到了朋友老鼠,老鼠答应帮助猴子重新搭起一座桥。

第71关

在这一关里,我们需要用火柴搭起一座桥,让猴子顺利度过河流。

合作伙伴是可爱的小老鼠们。

这是第71关的界面。

我们要训练老鼠,让老鼠走到中间的火柴,用嘴叼起火柴,送到左边的火柴堆上。

下面是代码界面的代码。

每一行的代码的意思是:

第1行:让小老鼠走到火柴;

第2行:让小老鼠叼起火柴,grab()是一个系统自带的函数,完成抓取(grab)的动作;

第3行:让小老鼠走3步;

第4行:让小老鼠放下火柴,drop()是一个系统自带的函数,完成放下(drop)的动作。

分析代码和界面,我们发现,第3行代码让小老鼠走3步是不可能让小老鼠走到左边的火柴堆的。

我们可以用代码:step distanceTo pile来代替step 3.

改进后的代码如下:

点击运行,看看效果喽~

第72关

运输更多的火柴,其实就是一个一个地运输。还记得我们在前面15关里学到的for循环吗?

我们看看界面:

这一关,其实就是增加了一点难度,就是老鼠,火柴,火柴堆不在同一条直线上,所以唯一会动的老鼠需要调整方向。

会用到的关键词是turnTo。

代码区域的代码如下:

第1行:转向火柴(match);

第2行:走向灌木丛(bush,就是美国前总统布什的姓);

第4行:抓取火柴;

第6行:转向火柴堆;

第7行:走向火柴堆;

分析一下,这段代码其实没有完成任务:老鼠抓取火柴并放到火柴堆上。

所以补充完全后的代码如下:

第6行:放下。

是不是很简单?

点击运行,看看效果吧~

第73关

这一关会有很多火柴,我们需要老鼠一根一根地捡起来。

看看我们面临的场景。

左边动画界面上方有3根火柴,老鼠需要把这三根火柴一根一根地放到左下方的火柴堆上。

右边的代码框里,部分代码已经给出。

第1,2,8行是注释行,在写代码的时候,我们一定要写出清晰的注释,来解释我们的代码是用来做什么的,这样子方便自己以后查阅,也方便别人使用我们的代码。这一点一定不要省略,方便别人就是方便自己。

第4-7行是一个for循环,让小老鼠对每个火柴都做这样的动作:面向火柴,走向火柴,抓取火柴。

这显然是不够的,我们还需要老鼠再抓取火柴之后,面向火柴堆,走向火柴堆,放下火柴。

所以我们可以对代码做如下改进:

点击运行,看看效果吧!

第74关

这一关,我们可以学习如何定义一个函数。

我们看看这一关的界面:

在左边,还是老鼠,火柴,火柴堆组成一个三角形。

在右边,代码是这样写的:

在第2-4行里,我们看到如何定义goto函数。

第2行:goto = (t)的含义是goto这个函数的输入是t这个对象;

第3,4行是goto函数的输出:先面向t(turnTo t),然后走向t(step distanceTo t);

所以2-4行的代码就是把面向,走向两个操作放在一起去执行。

第7行,就是调用这个goto函数了,goto match的意思是面向并走向火柴(match)。

第8行,就是面向并走向火柴堆(pile)。

如果只是让小老鼠面向并且走向火柴,火柴堆,还是没有执行叼起火柴,放下火柴的操作。

所以我们改进代码如下:

点击运行,效果如下:

闯关成功!

第75关

是不是觉得函数让我们的代码变得简单了很多?

原先小老鼠要先面向火柴,在走向火柴,如果忘记其中一个操作,代码就会运行不畅。因此,我们总是担心会漏写了其中一个操作。

现在好了,只需要把这两个操作打包在一起,写进一个函数里,就可以让我们在后面的代码里省却了这份担心。

看看今天最后一关的界面:

老鼠要把火柴叼起来并且放在火柴堆上,但是现在火柴在河对面,所以老鼠需要先走到木桥上。

我们看看代码框里已经给出的代码:

依然是提前定义好了goto函数,goto t就是先面向t再走向t。

小老鼠要完成“把火柴叼起来并且放在火柴堆上”这个任务,需要先goto木桥,然后goto火柴,叼起火柴,接着goto木桥,最后goto火柴堆,放下火柴。

这样一个过程可以用下面这段代码实现:

点击运行,看看有没有写错什么。

成功!

是不是觉得函数很简单呢?


总结:

Q: 为什么需要函数?

A: 我们经常需要先后执行一些操作,而且这些操作可能需要在不同的地方反复执行,这些操作(比如面向,走向)是具有先后顺序和规律的,如果写一段函数来体现这样的顺序和规律,就可以用一句简单的代码一次性完成这些操作,使得我们的代码更加简洁易懂。

Q:什么是函数?

A:函数是一个黑盒子,这个黑盒子是由我们自己设计的,我们清晰地知道这个函数的作用是什么,给什么输入,就可以得到什么输出。

Q:为什么孩子需要学习函数?

A:函数代表的是一种思维方式,即把很多操作按照顺序依次执行的顺序。这个思维方式体现在生活的方方面面,通过学习和编写函数,可以让孩子有逻辑地进行思维,说话,以及做事。


希望可以帮助到大家的孩子学习编程!

周末愉快!

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

推荐阅读更多精彩内容