少兒編程游戲CodeMonkey通關(guān)攻略:第76-80關(guān)

前言

重磅消息!

最近很多高校發(fā)布的招生章程里,將“在刊物上發(fā)表文章或論文”列為自主招生報(bào)名資格條件之一!

大家的孩子在以后上大學(xué)的競(jìng)爭(zhēng)力,不是數(shù)量上的競(jìng)爭(zhēng),而是質(zhì)量上的競(jìng)爭(zhēng)!

怎么提升孩子在未來(lái)的競(jìng)爭(zhēng)力呢?

如果是我的小孩,我會(huì)在讓孩子喜歡上數(shù)學(xué)和編程,并且從小學(xué)就可以開(kāi)始帶他們一起做科研。

這樣,他們才能在高中畢業(yè)前,已經(jīng)有了至少6年的科研經(jīng)驗(yàn),并且在國(guó)際刊物上發(fā)表SCI論文。

我不會(huì)僅僅讓孩子在國(guó)內(nèi)的刊物上發(fā)表論文,一定要讓孩子把眼光放在更高的國(guó)際刊物上。

有人覺(jué)得孩子不可能做出那么好的工作,我只想說(shuō),是啊,很多大人也不一定能在國(guó)際刊物上發(fā)表論文呢。

但是如果讓孩子盡早地接觸科研,那么他們?cè)趪?guó)際刊物上發(fā)表論文的時(shí)間就會(huì)越早。

與其思考有沒(méi)有可能,不如思考如何讓孩子在高中畢業(yè)前在國(guó)際期刊上發(fā)表SCI論文成為可能!

正文

這一篇攻略里,我們繼續(xù)運(yùn)用“函數(shù)”的功能去完成任務(wù),挑戰(zhàn)關(guān)卡。

這次,我們挑戰(zhàn)第76-80關(guān)。

直接開(kāi)始吧!

第76關(guān)

還沒(méi)開(kāi)始呢,就被夸成小天才,小孩子肯定心里是美滋滋的。

那就讓天才們開(kāi)始挑戰(zhàn)新的關(guān)卡吧!

我們看到在左邊的圖像畫(huà)面里,可愛(ài)的小老鼠旁邊有5根火柴,和一個(gè)火柴堆。小老鼠的任務(wù)就是把火柴一根一根地放進(jìn)火柴堆里。不管有多少火柴堆,只要用for循環(huán),小老鼠就可以把火柴處理完。在右邊的代碼畫(huà)面里,已經(jīng)有幾行代碼,但是這些代碼是有問(wèn)題的。

不信?我們可以直接點(diǎn)擊運(yùn)行按鈕,看看效果。

我們可以看到小老鼠每次經(jīng)過(guò)火柴的時(shí)候,就自動(dòng)穿過(guò)去了, 并沒(méi)有把火柴撿起來(lái),更沒(méi)有把火柴放在火柴堆上。

這是哪里出了問(wèn)題呢?

因?yàn)槭谴a直接控制著小老鼠的行為,我們可以直接看看代碼,在代碼里發(fā)現(xiàn)問(wèn)題。

通過(guò)觀察,我們發(fā)現(xiàn),錯(cuò)誤出現(xiàn)在第4行“step 20”,這行代碼使得小老鼠每次進(jìn)過(guò)火柴的時(shí)候,都是走20步,而沒(méi)有停在火柴上。那么如何讓小老鼠在火柴上停留,并且把火柴撿起來(lái)放在火柴堆上呢?

其實(shí)這個(gè)游戲的提示已經(jīng)告訴了我們答案:

那就是用“distanceTo a”來(lái)代替“step20”這行代碼。

修改后的代碼如下:

點(diǎn)擊運(yùn)行,看看效果吧!

挑戰(zhàn)成功!

第77關(guān)

上一關(guān)里,我們學(xué)會(huì)了怎么修改函數(shù)。

這一關(guān)里,我們要學(xué)會(huì)怎么寫(xiě)一個(gè)函數(shù)。

在這個(gè)界面里,我們看到,我們可愛(ài)的小老鼠需要經(jīng)過(guò)木橋到河對(duì)岸,然后叼起火柴,再經(jīng)過(guò)木橋回來(lái),然后把火柴放在火柴堆上。

我們看看代碼區(qū)域的內(nèi)容:

要想完成這個(gè)關(guān)卡,我們需要編寫(xiě)goto這個(gè)函數(shù)。

假設(shè)goto函數(shù)的對(duì)象是p,那么小老鼠需要先面向p,然后走向p。

上述代碼就基本可以實(shí)現(xiàn)我們希望的功能!

還等什么呢?點(diǎn)擊運(yùn)行,看看效果吧!

闖關(guān)成功!

第78關(guān)

上一關(guān)里,我們要編寫(xiě)一個(gè)goto函數(shù)。

這一關(guān)里,我們需要面對(duì)兩個(gè)函數(shù)。來(lái)看看是哪兩個(gè)函數(shù)吧!

在左邊的圖像界面里,我們的小老鼠依然是要完成把火柴放在火柴堆上這個(gè)任務(wù)。

在右邊的代碼界面里,我們看到,游戲里有一個(gè)collect函數(shù),這個(gè)函數(shù)名是收集的意思。

在collect函數(shù)里,我們看到collect =(e)就是要完成第6-9行代碼的步驟。

第6行代碼執(zhí)行“走向e”的操作;第7行代碼執(zhí)行抓取火柴的操作;第8行代碼執(zhí)行后退10步的操作;第9行代碼執(zhí)行放下火柴的操作。

很顯然,第8行代碼是不符合邏輯的,因?yàn)榛鸩裆⒙湓诘孛娴母鱾€(gè)地方,小老鼠不可能后退10步就可以把火柴放在火柴堆上。那么,我們需要修改的也就是這一行。

上圖給出了一個(gè)修改的方式,就是把“step -10”改成“goto pile”。意思就是把每次“后退10步”的操作改成“走向火柴堆”的操作。這樣才符合邏輯。

點(diǎn)擊運(yùn)行,看看效果吧!

闖關(guān)成功!

第79關(guān)

這一關(guān)里,我們需要自己定義goto函數(shù)。

這次任務(wù)里,小老鼠只需要把一根火柴放在火柴堆就可以了。

看來(lái)小老鼠的任務(wù)量是小了不少啊!

但是我們的任務(wù)量稍微大了一點(diǎn)!

那就是寫(xiě)出goto函數(shù)的定義!

不過(guò)還好,猴博士指導(dǎo)我們,只需要按照上圖中手指的方向,點(diǎn)擊手指指向的圖表,代碼界面就會(huì)出現(xiàn)一個(gè)函數(shù)體,就是函數(shù)的基本樣子。

然后,我們就可以在這個(gè)函數(shù)的基本樣子上,改寫(xiě),重新定義這個(gè)函數(shù)了。

下面是我給出的一個(gè)例子:

點(diǎn)擊運(yùn)行,看看效果吧!

第80關(guān)

這是今天的最后一關(guān)啦,小朋友們玩完這一關(guān)就可以去玩別的啦~

看看這個(gè)界面,在左邊的圖形界面里,小老鼠需要先經(jīng)過(guò)木橋,然后把每根火柴放在火柴堆上。

在右邊的代碼界面里,我們看看游戲提供的代碼是什么樣子:

在代碼框里,我們需要定義collect函數(shù),有了之前定義goto函數(shù)的經(jīng)驗(yàn),我們這次也可以很簡(jiǎn)單地定義出collect函數(shù)。

點(diǎn)擊右邊代碼界面下方的“function”圖表,我們就會(huì)看到在代碼界面里的第5行有一個(gè)函數(shù)體出現(xiàn),就是函數(shù)的基本樣子,然后我們就可以修改那個(gè)函數(shù)體,從而定義我們需要的collect函數(shù)了。

在英文里,collect是收集的意思,比如在馬路上看到前面的人掉了100塊錢(qián),我們可以走向那100塊錢(qián),撿起100塊錢(qián),然后走向前面的那個(gè)人,把100塊錢(qián)交給他。

在這里,我們就是需要小老鼠走向火柴,叼起火柴,走向火柴堆,放下火柴。

代碼可以像下面這樣寫(xiě):

點(diǎn)擊運(yùn)行,看看效果吧!

挑戰(zhàn)成功!

這周的5關(guān)好快就過(guò)去了。

這周的7天好快就過(guò)去了。

不過(guò)不管如何,我們經(jīng)歷了7天的努力,變成了更好的自己,不是很好嗎?!

希望大家的孩子們通過(guò)“編程”變成了更好的自己!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容