CODEMONKEY 142-150邏輯與事件- "比來比去"
從本節開始介紹與計算機游戲相關的概念,本節課中我們將介紹等于、小于運算符的使用
學習目標:
在編程實踐中學習運用第一種值比較的方法“==”
學習并靈活掌握小于“<”關系運算符的使用
知識講解:
關系運算符:也就是它測試兩個實體之間的關系。分別為小于、小于等于、大于、等于、大于等于、不等于,后面我們會陸續講到。
實戰闖關:
第142關: health() 方法能夠讓你知道小猴的健康狀態 !
這一關過關很簡單,我們可以先運行一下say health(),能看到小猴說出100,表明health()返回的是一個健康值,這個值我們可以在上圖右上角看到。
第143關:呦 ! 猩猩 gorilla 出現了 !小心它會襲擊小猴,注意觀察小猴被襲擊后的健康值變化。
本關有兩種方式都可以過關,可以使用兩次goto函數,也可以使用for循環完成。
第144關:這一關需要我們對右邊的代碼進行debug。
從上圖我們可以看到小猴的健康值是40,因此health()返回的值就是40。我們需要用到“==”來對數值進行比較,看是否相等,那么看看小猴現在要吃掉香蕉,它的條件應該是什么呢。
第145關:如下圖我們發現小猴的健康值是40它要去吃到香蕉,結果半路上就被猩猩給打暈了,為了讓小猴去吃到香蕉,我們必須讓小猴在休息區恢復體力到100這樣才能不被打暈。
注意:小猴的健康上限值是100,它不能再比100多了。
第146關:這一關有很多香蕉,我們要用for循環去挨個收集,這與我們之前的練習沒有區別,不過大猩猩會不斷攻擊小猴,為了能夠不被打暈,每次收集香蕉前都需要前往休息區恢復體力。
根據這個思路,我們在for循環里使用until循環直到小猴恢復健康值到100,再去收集香蕉。
第147關:好險,差點又被打暈了,好在我及時趕到休息區,還是先恢復好體力再去拿到那根香蕉吧。
第148關:使用“<”來判斷是不是小于一個數值。
此時health()的值是80,是不是小于90呢?用程序就是health() < 90,成立的話會返回yes,否則返回no,那么對右邊的程序進行debug吧。
第149關:用for循環挨個去收集香蕉,根據提示,如果健康值低于70,就需要補充體力啦。這里首先要用到判斷,如果條件成立,就需要前往休息區,使用until循環,讓小猴補充體力直到health()==100。
第150關:這一關,我們的任務是完善右側的程序。
這里有兩個休息區,我們再看看右側提供的程序
閱讀程序:通過for循環,挨個前往香蕉,如果健康值低于60,那么執行gotoNearestHealth()方法
gotoNearestHealth()方法,定義了兩個變量d0、d1,分別代表到休息區0和休息區1的距離,然后通過條件判斷到哪個近就前往該休息區。程序到此就沒有了。接下來的部分就由我們來完成。我們根據它的思路繼續思考。健康值小于60的話就前往最近的休息區,然后要做什么呢?當然是回復體力了。這樣它才能去繼續收集香蕉,對不對?那么去完成恢復體力部分的程序吧。
思考練習:
1、思考:
(1)”==”是一元運算符嗎?
(2)描述一下下面代碼將會如何執行
if a < b
goto banana
if b > a
goto banana
2、完成本節對應的特技關卡:
答案:
思考題答案:
1:”==”是二元的,需要兩個操作數進行比較
2:如果A小于B走到香蕉跟前;如果B大于A走到香蕉跟前。
你會發現,“A小于B”和“B大于A”的意思完全相同!換句話說,這兩個條件是等價的。
本站內容未經許可,禁止任何網站及個人進行轉載。