這期攻略,咱來到“點擊我吧”模塊。
看到這個模塊的題目,我不得不想起郭德綱和于謙老師在相聲《美麗人生》中的一段臺詞:
郭:于老師這個人人特別好强重,和我關系也特別好,三天兩頭看不見我就想他贸人,閑來無事在網吧上網间景,搜搜于謙的消息吧
于:網上有我不少消息
郭:尤其是于老師的照片,在網上很火艺智,公安局網監(jiān)大隊明令禁止
于:那是我照片嗎
郭:你們起什么哄倘要?我沒看夠200張,所以今天和于冠希老師站在一起…
于:你怎么把我姓都給改了
郭:我還上過你的那個…嫖客
于:您還上過我的嫖客力惯?碗誉?那咱倆得認干姐妹了…
郭:什么話呀!父晶!你很三俗
于:你不說我想的起來嗎
郭:那是什么
于:博客
郭:我在那博客上一看哮缺,誒喲,那么多人點你呀
于:那么多人點我甲喝,像話嗎
郭:(用手指點)這不是點你嗎
于:嗨尝苇,您說錯了,點擊
郭:點你就是點雞埠胖?糠溜?
于:越說越不像話了,點擊率
郭:怎么還綠呀
于:說不清楚了跟你
哈哈直撤。
咱正式進入正文非竿。
鼠標是我們常用的工具,在編程中谋竖,我們也可以用鼠標來指導物體的移動红柱。
在上一次教程里承匣,我們學會了如何用鼠標控制物體運動的方向以及控制讓物體的位置。
在接下來的教程里锤悄,我們將學會用鼠標點擊一個位置韧骗,讓小猴子自動地運動到那里,同時不妨礙鼠標的其他操作零聚。
第186關
這一關的終點就在于袍暴,我們用onClick函數來判斷我們是否用鼠標點擊了onClick前面的對象, 這里就是monkey我們可愛的小猴子了隶症。monkey.onClick這個函數是帶有對象的判斷語句政模。
如果我們用鼠標點擊小猴子,monkey.onClick返回的是yes沿腰,那么小猴子就需要執(zhí)行函數里面的指令览徒,也就是monkey.step 5,向前走5步颂龙。
如果我們沒有用鼠標點擊小猴子习蓬,monkey.onClick返回的是no,小猴子就原地不動措嵌,怪怪地等待被點擊吧躲叼。
系統(tǒng)給出的代碼也非常簡單,如下:
點擊運行企巢,然后用鼠標點擊小猴子吧枫慷!
第187關
這一關不僅有小猴子,還有我們可愛的小烏龜浪规。
小烏龜是過來渡小猴子的或听,也就是幫助小猴子過河的。
那么我們用onClick函數不僅可以判斷小猴子是否被鼠標點擊笋婿,還可以判斷小烏龜是否被點擊誉裆。
從而,我們不僅可以控制小猴子向前走缸濒,也可以控制小烏龜向前走足丢。
這樣就可以讓小烏龜來到小猴子和香蕉之間,從而節(jié)約小猴子行走的時間了庇配。
當然斩跌,我們也可以讓小烏龜不懂,讓小猴子繞道小烏龜那里過河捞慌。這樣做有兩個弊端耀鸦,一是代碼更加復雜了, 二是小猴子行走的時間也會變長啸澡。
系統(tǒng)給出的代碼如下:
我們只需要仿照用來控制小猴子的代碼揭糕,寫出兩行控制小烏龜的代碼就可以了萝快。
點擊運行,用鼠標控制小猴子和小烏龜吧著角!
第188關
我們還可以點擊香蕉,讓小猴子走到香蕉那里去旋恼。
在上圖右側的代碼框里吏口,如下,
我們發(fā)現(xiàn)系統(tǒng)默認使用了goto函數冰更,這個函數大家應該比較熟悉产徊,因為之前的很多關卡都用到了這個函數。這個函數主要包括兩個步驟:一是turnTo蜀细,也就是面向goto 后面的物體(如goto banana中的banana)舟铜;二是step,也就是走向goto后面的物體(banana)奠衔。
但是在上面的代碼里谆刨,我們希望小猴子吃到香蕉,那么在我們點擊香蕉之后归斤,當然是希望小猴子走向香蕉啦痊夭。
所以代碼修改如下:
點擊運行!小猴子不知道香蕉在哪里脏里,快點擊香蕉讓小猴子跟隨鼠標的步伐吧她我!
第189關
在上一關里,我們學會了用鼠標點擊香蕉迫横,從而讓小猴子走向那個香蕉番舆。
這一關其實就是比上一關多了幾個香蕉而已。
所以我們需要多點擊幾次啦矾踱!
那么我們就可以用for循環(huán)恨狈,這也是我們在之前的很多關卡里用到的技巧。
系統(tǒng)給出的代碼如下:
我們需要給出點擊香蕉之后的代碼介返,也就是讓小猴子走向香蕉b拴事。
代碼如下:
點擊運行!讓小猴子跟著鼠標的點擊去吃香蕉吧圣蝎!
第190關
在之前的關卡里刃宵,我們可以做到兩件事:
一,點擊小猴子徘公,讓小猴子向前走牲证;
二, 點擊香蕉关面,讓小猴子走到香蕉坦袍。
但是在海上的時候十厢,我們有時不能直接做這兩件事情。
比如上圖中的情形捂齐,我們的小猴子和香蕉之前擱著一段距離的海水蛮放,而這段距離恰好等于一條鱷魚的長度。
如果我們可以讓鱷魚轉變方向奠宜,做小猴子和香蕉之間的橋梁就好了包颁。
事實上,我們還可以用鼠標點擊做另外一件事情压真,那就是讓小鱷魚轉變方向娩嚼。需要用到turn left或者turn right這樣的指令。
上圖右側滴肿,系統(tǒng)給出的代碼如下:
我們只需要在第5行寫上“crocodile.turn left”或者“crocodile.turn right”就可以岳悟。這兩各指令在這里都是可以的,因為他們本來就是對稱的動作泼差。
代碼如下:
點擊運行贵少!用鼠標點擊鱷魚和香蕉,用你的聰明才智讓小猴子吃到香蕉吧拴驮!
第191關
這一關和上一關類似春瞬,但是稍微有點復雜。
一看到上圖套啤,大家千萬不要想著讓小猴子先吃最近的香蕉(也就是小猴子右上方的香蕉)宽气,因為小猴子在最開始的時候和右上方的那個香蕉之間是沒有鱷魚的。
更好的選擇是潜沦,讓小猴子先沿著鱷魚往上走萄涯,再沿著石墩往左走,再往下唆鸡,最后再沿著鱷魚往右走涝影。
系統(tǒng)給出的提示如下:
我給出的代碼如下:
點擊運行!用我剛才給出的一個方案指揮小猴子吧争占!
第192關
這一關的終點在于我們可以用mover代替onClick之前的任意物體燃逻。
比如,我們定義“mover=monkey”臂痕,那么我們就可以用mover.onClick來代替monkey.onClick伯襟。
這樣做的好處是,如果代碼很復雜握童,我們只需要修改mover的值姆怪,而不需要跑到onClick函數里面修改對象的值。
這樣我們就可以在不同的場景下使用onClick函數,增加了onClick函數的靈活性稽揭。
在方框里寫上step 3就可以啦俺附!
點擊運行,然后我們只需要點擊灌木溪掀,就是左側綠綠的植物事镣,就可以讓小猴子往前走了!
總結
我們在這7關里學到了兩點:
一膨桥,我們可以用鼠標點擊控制物體(比如小猴子)蛮浑,包括點擊小猴子讓小猴子往前走,點擊香蕉讓小猴子直接走向香蕉只嚣,點擊小猴子讓小猴子轉向等等。
二艺沼,我們可以用mover代替具體的物體册舞,增加了onClick函數的靈活性。
下一次障般,我會介紹第193-199關调鲸。
最后一次,我會介紹第200關挽荡,也就是打終極大boss藐石,大猩猩。