codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  在这节课中,我们会遇到一个新的角色—有趣的山羊。我们将跟随山羊先生一起学习条件判断这一重要概念。

学习目标:

  1、学会使用指令控制山羊撞击,即goat.hit()

  2、学会函数(结冰的)frozen()的使用

  3、理解并熟练使用if判断

知识讲解:

  有时我们希望我们的代码根据一定的条件来决定做什么(例如,你喜欢打篮球吗?是的话请举手。)当我们编写代码时,状态可能不为我们所知,而计算机在执行代码时必须决定该执行什么操作。今天我们将学习如何根据条件指导计算机决定该做什么。

  当我们有一个以上的香蕉或火柴时,我们已经知道该怎么做了,但是如果我们有两个香蕉,其中一个是冷冻的,那该怎么办?

  今天,我们将遇到一个新的角色,它将帮助我们处理冷冻香蕉,我们需要帮助山羊辨认出冰冻的香蕉,然后去撞破冰块,来帮助小猴吃到它。

实战闯关:

  第101关:使用goto函数抵达小桥,然后再用goto函数前往香蕉。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第102关:需要让山羊goat先撞破冰块,对象(goat)的hit方法,即:goat.hit(),hit()是一个没有参数的函数,我们之前用到的grab(),drop()很相似,都属于没有参数的方法,它然后小猴前进吃到香蕉。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第103关:请记得使用 山羊撞击 goat.hit() 这个指令。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第104关:还记得我们讲过的debug吗?这一关我们看看给出的代码,第一行执行hit(),这明显是错误的,因为山羊面对的香蕉没有被冻住,再撞就把香蕉撞坏了对吧。所以这一步是不需要的,只需要让山羊转向右侧去撞破冰块,小猴就可以前进吃到香蕉了。让我们检查一下,修改掉错误,完成debug挑战。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第105关:这一关看起来有点复杂,还记得数组吗?我们面对复杂的问题首先还是分析一下,理清思路。

  这里有两个香蕉被冻住,我们可以通过鼠标点击查看香蕉编号,这样便可以让山羊依次走到它们跟前撞破冰块,接下来小猴就可以去吃掉三个香蕉了,这里是不是要用到for循环,回忆一下,现在思路明确了是不是觉得简单多了。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第106关:每次都让我们去告诉山羊应该去撞哪个香蕉,不该撞哪个。有没有办法让它们自己变得聪明一点,能够自己去识别,首先看香蕉是不是被冻住,是的话那么山羊就去撞破它,否则小猴就可以去直接吃掉它。

  这一关我们就要用到一个新的方法(结冰的)frozen()这是一个判断方法,如果是返回“yes”,否则返回”no”。下面我们可以直接用say方法看看frozen()返回的结果吧。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  注意观察两次say banana.frozen()显示的内容,在山羊撞他之前是yes,之后山羊撞破了冰块,这是说的就是no对吧?此时小猴就可以去吃掉他了。

  第107关:使用if指令来判断条件是否成立,成立的话(香蕉被冻住)就执行它内部的指令(山羊撞击),否则就直接跳过去执行后面的指令(小猴前往香蕉),这里需要注意if判断内部的指令需要有缩进。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第108关:继续练习使用if判断,首先判断香蕉是否被冻住,是的话需要让山羊走到香蕉跟前,然后撞破冰块,最后小后前往香蕉。

  这里要注意if判断的内部要执行的是两个操作哦,因此依旧要注意缩进。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第109关:现在有四根香蕉,有的被冻住有的没有,怎么办呢?那我们还是先写出思路吧:四根香蕉是一个数组,还是想到for循环,挨个让小猴去吃,不过在小猴吃之前要判断香蕉是不是被冻住,是的话让山羊走到跟前去撞破,然后再去吃。伪代码就是这样:

  for循环遍历数组

    如果香蕉被冻住

     山羊走到香蕉跟前

     山羊撞击

    小猴前往香蕉

  如果你想明白了就在右侧用程序实现吧。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第110关:这一关与上一关完全一样,只不过要求我们能够独立的写出所有代码,试试看。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

  第111关:好久不见我们的乌龟先生了,小猴想要吃掉这些香蕉需要山羊的帮助,也离不开乌龟先生,因为山羊需要乌龟把它运到冰冻的香蕉跟前。

  思路:使用for循环,判断香蕉是否被冻住,是的话让山羊撞破,然后小猴前往香蕉,最后别忘了让乌龟移动一下,这样才能在下次循环时,保证山羊在香蕉跟前,不然如果香蕉是冰冻状态,山羊就撞不到了,对吧。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

思考与练习:

  1、我们代码中表示条件语句的代码是什么?

          A、until B、for c、if

  2、if语句的语法是什么?

  3、编程中条件语句有什么作用?

  4、完成对应的特技模式,巩固判断指令的使用。

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

答案:

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地

codemonkey少儿编程【101-111关】逻辑与事件-“如果”雪地