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

同志們,雄安新區(qū)都成立了,你們說,中國的變化快不快?!

在這樣一個蘊含無數(shù)機會的變化面前,我們常常誤以為自己可以抓住其中一些機會,然后卻忘了努力。

孩子們也是如此。

不要讓孩子們錯失機會,那就趕緊跟上步伐,學習編程吧!

在未來幾次教程里,我們學習如何利用“直到”(until)來完成一些不知道要循環(huán)多少次的循環(huán)指令。

知識點

until是“直到”的意思。舉個例子,“I will not wake up until 7 a.m.” 就是我直到早上7點才會起床。

在CodeMonkey里,我們可以用“until near match”來表示“直到接近火柴”。

完整的用法是:

until near match

? ? ? ? step 1

表示“直到接近火柴之前,我們要(不停地)走1步?!?/p>

也就是說,在沒有達到火柴之前,我們不能停下,每次都要走1步。當然,這里的火柴(match)也可以是別的對象。

下面跟著我一起闖關(guān)吧!今天我們一起來玩玩第86-90關(guān),看看怎么用until玩得更有意思。

第86關(guān)

我們看看界面。

在左側(cè)的畫面里,小老鼠需要撿起火柴,放在火柴堆里。

右側(cè)是代碼框,代碼如下:

我先解釋一下代碼:

第1,2行:直到靠近火柴之前,走1步;

第3行:撿起火柴;

第4,5行:直到靠近火柴堆之前,走1步;

很明顯,小老鼠走到火柴堆之后,需要把火柴放下,于是代碼可以像這樣補充:

第6行:放下火柴。

點擊看看效果吧!

三星通關(guān)!

第87關(guān)

上圖中猴博士的意思是,near這個代碼可以返回一個結(jié)果,如果小老鼠靠近目標,返回yes,否則返回no。這個返回的結(jié)果需要用say來表示出來。

在左側(cè)的畫面里,依然是和上一關(guān)一樣的畫面,小老鼠依然需要撿起火柴放在火柴堆上。

在右側(cè)的代碼框里,我們看到如下代碼:

在上述的第3行代碼里,near match會一直返回no,直到小老鼠接近火柴之后。

第4,5行明顯有問題,撿起來直接就放下的,那是深蹲。所以我們要把第5行代碼放在第8行。

更改后的代碼如下:

點擊運行,看看效果吧!

三星通關(guān)!

第88關(guān)

until指令是在不知道要循環(huán)多少次的情況下使用的,只有當until后面的條件得到滿足的情況下,循環(huán)才會終止。

在左側(cè)的畫面里,小老鼠,火柴,火柴堆不再在同一條水平線上,所以小老鼠再撿起火柴之后需要轉(zhuǎn)向火柴堆,然后再走到火柴堆那放下火柴。

代碼如下:

我們需要在第3行寫上grab()指令,讓小老鼠撿起火柴。

在第4行寫上turnTo pile指令,讓小老鼠轉(zhuǎn)向火柴堆。

在第7行寫入drop()指令,讓小老鼠放下火柴。

我給出的代碼如下:

點擊運行,看看效果吧!

三星通關(guān)!

第89關(guān)

在這一關(guān)里,內(nèi)容基本和前三關(guān)一致。

故事內(nèi)容依然是:小老鼠需要把火柴放在火柴堆上。

我們看看代碼:

看完代碼,我們就發(fā)現(xiàn)問題了:第4行的指令是面向火柴堆,但是小老鼠在面向火柴堆之后,居然只走了4步。

難道小老鼠會大跨步向前進?難道火柴堆會自動漂移?

所以我們可以這樣改:

點擊運行,看效果:

可惜,最后只得到兩顆星!

提示是:用6行代碼解決問題。

好吧,我們可以不用until,直接把step 4改成step distanceTo pile即可。

代碼如下:

點擊運行,看效果!

三星通關(guān)!

第90關(guān)

猴博士是不是夸錯了,我覺得應(yīng)該夸我們聰明的孩子們啊~

原來,這一關(guān),螞蟻會拖著火柴走,讓小老鼠和火柴之間的距離時刻變化。

在左側(cè)的界面里,我們看到老鼠沒有直接面向火柴。右側(cè)的代碼框里的代碼如下:

我們需要把turn left放在最前面,把step 1 放在until 下面,原因是,在接近火柴之前不停左轉(zhuǎn)是沒有用的。

之后的代碼和前幾關(guān)一樣,在小老鼠從螞蟻手里搶到火柴之后,就要讓小老鼠面向火柴堆,然后走向火柴堆,放下火柴。這些動作可以用如下的第5-7行代碼實現(xiàn)。

點擊運行,看看效果吧!

三星通關(guān)!


后記:

今天你學會使用until了嗎?

下一次,我們會在新的關(guān)卡中繼續(xù)學習和使用until!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容