今天我們一起玩until循環(huán)的第91-95關(guān)捞附。
第91關(guān)
我們來看看這一關(guān)的畫面泛释。
在左側(cè)的畫面框里祝拯,小老鼠面向火柴甚带,但火柴在螞蟻手里。我們來想象一下接下來會發(fā)生什么:小老鼠需要從螞蟻手里搶走火柴佳头,然后轉(zhuǎn)向火柴堆鹰贵,走到那里,放下火柴康嘉。
我們看看右側(cè)的代碼框碉输。
空空的,一定是打開方式不對亭珍。
第二次打開后敷钾,依然還是空的枝哄。
看來這次是要我們自己寫出整個代碼了。
按照以上分析闰非,我給出了如下的代碼示例:
點擊運行看效果膘格!
三星通關(guān)!
第92關(guān)
在這一關(guān)里财松,小老鼠會遇到一個新的麻煩:過河瘪贱,但不通過木橋。
我們看看左側(cè)的畫面框辆毡,因為小老鼠無法越過草叢菜秦,所以無法經(jīng)過木橋過河。它過河的唯一方式就是通過小烏龜舶掖,所以我們需要小烏龜先游到小老鼠的面前球昨。
再來看看右側(cè)的代碼。
第1眨攘,2行:在小烏龜接近木橋之前主慰,小烏龜不停地旋轉(zhuǎn)1度。
整個代碼的錯誤就在這里鲫售,應(yīng)該是“小烏龜不停地向木橋走1步”共螺,所以應(yīng)該把“turtle.turn 1”改成“turtle.step 1”。
第3行:小老鼠撿起火柴情竹。
第4行:小老鼠走向火柴堆藐不。
第5行:小老鼠放下火柴。
我們修改后的代碼如下:
點擊運行看效果:
三星通關(guān)秦效!
第93關(guān)
我們先看看畫面和提供的代碼雏蛮。
這一關(guān)與第91關(guān)的區(qū)別是,在91關(guān)里阱州,螞蟻的運動軌跡和小老鼠在同一個方向上挑秉。而在這一關(guān)里,小老鼠橫著走苔货,而小老鼠朝向上方衷模。所以,小老鼠需要在螞蟻移動的過程中蒲赂,不停地改變自己的朝向,從而一直向火柴走去刁憋。
系統(tǒng)給出的代碼如下:
只需要在第3行里加上“step 1”就可以了滥嘴。
點擊運行看看效果。
三星通關(guān)至耻!
第94關(guān)
在這一關(guān)里若皱,我們需要用函數(shù)來包裝until指令以及相關(guān)的操作镊叁。
在左側(cè)的畫面框里,小老鼠依然朝向上方走触,而螞蟻拖著火柴依然是水平移動晦譬。
在右側(cè)的代碼框里,系統(tǒng)給出的代碼如下:
在代碼框里互广,第1-2行敛腌,我們要定義一個chase(追逐)函數(shù),這個函數(shù)的對象是m惫皱,在接近m之前像樊,我們需要小老鼠一直調(diào)整方向,面向火柴旅敷,并且向火柴走去生棍。
在第4行里,“chase match”這行代碼讓小老鼠追逐火柴媳谁;
在第6行里涂滴,“chase pile”這行代碼讓小老鼠追逐火柴堆。
這里我們要注意的是晴音,小老鼠既可以追逐運動的火柴柔纵,也可以追逐不動的火柴堆。
我給出的代碼如下:
點擊運行看效果段多!
三星過關(guān)首量!
第95關(guān)
如果小老鼠遇到很多運動中的火柴,它該怎么辦呢进苍?
在左側(cè)的畫面框里加缘,我們可以看到這一關(guān)與上一關(guān)的區(qū)別是,小老鼠需要追逐三根火柴觉啊,而不是一根拣宏。很自然地,我們可以運用for循環(huán)處理這么多跟火柴杠人,而追逐每根火柴可以用chase函數(shù)來執(zhí)行勋乾。
我們接著看看右側(cè)的代碼框:
在第1-3行里,我們需要定義chase函數(shù)嗡善,讓小老鼠追逐對象m(m是畫面框里的每根火柴)辑莫。
什么是追逐呢?就是火柴在哪里罩引,小老鼠就一直看著火柴(turnTo m)各吨,并且向火柴追去(step 1),直到追上(near)火柴了袁铐。
我們需要在第2-4行里寫入如下的代碼:
點擊運行看效果揭蜒!
三星通關(guān)横浑!
今天的通關(guān)攻略就介紹到這里了。
這5關(guān)里屉更,我們主要學(xué)會了如何處理火柴被螞蟻拖著不停地運動的場景徙融,那就是讓小老鼠不停地面向火柴(turnTo match),走向火柴(step 1)瑰谜。這些操作可以用一個chase函數(shù)來包裝欺冀。
下次,我們將更新第96到100關(guān)似舵,這是until循環(huán)的最后5關(guān)脚猾。