少兒編程游戲CodeMonkey通關攻略:第91-95關

今天我們一起玩until循環的第91-95關。


第91關

我們來看看這一關的畫面。

在左側的畫面框里,小老鼠面向火柴,但火柴在螞蟻手里。我們來想象一下接下來會發生什么:小老鼠需要從螞蟻手里搶走火柴,然后轉向火柴堆,走到那里,放下火柴。

我們看看右側的代碼框。

空空的,一定是打開方式不對。

第二次打開后,依然還是空的。

看來這次是要我們自己寫出整個代碼了。

按照以上分析,我給出了如下的代碼示例:

點擊運行看效果!

三星通關!

第92關

在這一關里,小老鼠會遇到一個新的麻煩:過河,但不通過木橋。

我們看看左側的畫面框,因為小老鼠無法越過草叢,所以無法經過木橋過河。它過河的唯一方式就是通過小烏龜,所以我們需要小烏龜先游到小老鼠的面前。

再來看看右側的代碼。

第1,2行:在小烏龜接近木橋之前,小烏龜不停地旋轉1度。

整個代碼的錯誤就在這里,應該是“小烏龜不停地向木橋走1步”,所以應該把“turtle.turn 1”改成“turtle.step 1”。

第3行:小老鼠撿起火柴。

第4行:小老鼠走向火柴堆。

第5行:小老鼠放下火柴。

我們修改后的代碼如下:

點擊運行看效果:

三星通關!

第93關

我們先看看畫面和提供的代碼。

這一關與第91關的區別是,在91關里,螞蟻的運動軌跡和小老鼠在同一個方向上。而在這一關里,小老鼠橫著走,而小老鼠朝向上方。所以,小老鼠需要在螞蟻移動的過程中,不停地改變自己的朝向,從而一直向火柴走去。

系統給出的代碼如下:

只需要在第3行里加上“step 1”就可以了。

點擊運行看看效果。

三星通關!

第94關

在這一關里,我們需要用函數來包裝until指令以及相關的操作。

在左側的畫面框里,小老鼠依然朝向上方,而螞蟻拖著火柴依然是水平移動。

在右側的代碼框里,系統給出的代碼如下:

在代碼框里,第1-2行,我們要定義一個chase(追逐)函數,這個函數的對象是m,在接近m之前,我們需要小老鼠一直調整方向,面向火柴,并且向火柴走去。

在第4行里,“chase match”這行代碼讓小老鼠追逐火柴;

在第6行里,“chase pile”這行代碼讓小老鼠追逐火柴堆。

這里我們要注意的是,小老鼠既可以追逐運動的火柴,也可以追逐不動的火柴堆。

我給出的代碼如下:

點擊運行看效果!

三星過關!

第95關

如果小老鼠遇到很多運動中的火柴,它該怎么辦呢?

在左側的畫面框里,我們可以看到這一關與上一關的區別是,小老鼠需要追逐三根火柴,而不是一根。很自然地,我們可以運用for循環處理這么多跟火柴,而追逐每根火柴可以用chase函數來執行。

我們接著看看右側的代碼框:

在第1-3行里,我們需要定義chase函數,讓小老鼠追逐對象m(m是畫面框里的每根火柴)。

什么是追逐呢?就是火柴在哪里,小老鼠就一直看著火柴(turnTo m),并且向火柴追去(step 1),直到追上(near)火柴了。

我們需要在第2-4行里寫入如下的代碼:

點擊運行看效果!

三星通關!


今天的通關攻略就介紹到這里了。

這5關里,我們主要學會了如何處理火柴被螞蟻拖著不停地運動的場景,那就是讓小老鼠不停地面向火柴(turnTo match),走向火柴(step 1)。這些操作可以用一個chase函數來包裝。

下次,我們將更新第96到100關,這是until循環的最后5關。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容