CODEMONKEY 142-150逻辑与事件- "比来比去"

从本节开始介绍与计算机游戏相关的概念,本节课中我们将介绍等于、小于运算符的使用

学习目标:

在编程实践中学习运用第一种值比较的方法“==”

学习并灵活掌握小于“<”关系运算符的使用

知识讲解:

关系运算符:也就是它测试两个实体之间的关系。分别为小于、小于等于、大于、等于、大于等于、不等于,后面我们会陆续讲到。

【142-150关】CodeMonkey关系运算符-等于小于

实战闯关:

第142关: health() 方法能够让你知道小猴的健康状态 !

【142-150关】CodeMonkey关系运算符-等于小于

这一关过关很简单,我们可以先运行一下say health(),能看到小猴说出100,表明health()返回的是一个健康值,这个值我们可以在上图右上角看到。

第143关:呦 ! 猩猩 gorilla 出现了 !小心它会袭击小猴,注意观察小猴被袭击后的健康值变化。

【142-150关】CodeMonkey关系运算符-等于小于

本关有两种方式都可以过关,可以使用两次goto函数,也可以使用for循环完成。

第144关:这一关需要我们对右边的代码进行debug。

【142-150关】CodeMonkey关系运算符-等于小于

从上图我们可以看到小猴的健康值是40,因此health()返回的值就是40。我们需要用到“==”来对数值进行比较,看是否相等,那么看看小猴现在要吃掉香蕉,它的条件应该是什么呢。

第145关:如下图我们发现小猴的健康值是40它要去吃到香蕉,结果半路上就被猩猩给打晕了,为了让小猴去吃到香蕉,我们必须让小猴在休息区恢复体力到100这样才能不被打晕。

【142-150关】CodeMonkey关系运算符-等于小于

注意:小猴的健康上限值是100,它不能再比100多了。

第146关:这一关有很多香蕉,我们要用for循环去挨个收集,这与我们之前的练习没有区别,不过大猩猩会不断攻击小猴,为了能够不被打晕,每次收集香蕉前都需要前往休息区恢复体力。

【142-150关】CodeMonkey关系运算符-等于小于

根据这个思路,我们在for循环里使用until循环直到小猴恢复健康值到100,再去收集香蕉。

第147关:好险,差点又被打晕了,好在我及时赶到休息区,还是先恢复好体力再去拿到那根香蕉吧。

【142-150关】CodeMonkey关系运算符-等于小于

第148关:使用“<”来判断是不是小于一个数值。

【142-150关】CodeMonkey关系运算符-等于小于

此时health()的值是80,是不是小于90呢?用程序就是health() < 90,成立的话会返回yes,否则返回no,那么对右边的程序进行debug吧。

第149关:用for循环挨个去收集香蕉,根据提示,如果健康值低于70,就需要补充体力啦。这里首先要用到判断,如果条件成立,就需要前往休息区,使用until循环,让小猴补充体力直到health()==100。

【142-150关】CodeMonkey关系运算符-等于小于

第150关:这一关,我们的任务是完善右侧的程序。

【142-150关】CodeMonkey关系运算符-等于小于

这里有两个休息区,我们再看看右侧提供的程序

【142-150关】CodeMonkey关系运算符-等于小于

阅读程序:通过for循环,挨个前往香蕉,如果健康值低于60,那么执行gotoNearestHealth()方法

gotoNearestHealth()方法,定义了两个变量d0、d1,分别代表到休息区0和休息区1的距离,然后通过条件判断到哪个近就前往该休息区。程序到此就没有了。接下来的部分就由我们来完成。我们根据它的思路继续思考。健康值小于60的话就前往最近的休息区,然后要做什么呢?当然是回复体力了。这样它才能去继续收集香蕉,对不对?那么去完成恢复体力部分的程序吧。

思考练习:

1、思考:

(1)”==”是一元运算符吗?

(2)描述一下下面代码将会如何执行

if a < b

    goto banana

if b > a

   goto banana

2、完成本节对应的特技关卡:

【142-150关】CodeMonkey关系运算符-等于小于

答案:

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

【142-150关】CodeMonkey关系运算符-等于小于

思考题答案:

1:”==”是二元的,需要两个操作数进行比较

2:如果A小于B走到香蕉跟前;如果B大于A走到香蕉跟前。

你会发现,“A小于B”和“B大于A”的意思完全相同!换句话说,这两个条件是等价的。