【转载】编程解不开僵局?「条件判断」来帮忙 | 亲子课堂 第 6 课

森林

地牢里的关卡主要是偏向锻炼用户的基本语法结构和计算机思维,让大家熟悉极客战记的操作与代码的使用。

来到了森林,关卡将会变得更多更难,同样,到了森林,大家就正式开始接触编程的几大重要知识点:

条件判断、运算符、函数、对象属性

边地僵局

在这里插入图片描述

关卡简介:

「边地僵局」可以说是被提问次数最多的关卡之一,关卡涉及的编程知识是条件判断与函数的运用,其实难度并不高,本关的过关代码甚至与上一关一模一样,但在之前许多同学常常为了过关速度,只是填了代码就走,并没有理解代码的作用,导致再遇到一样的代码内容时就不懂得如何填写了。

如果你在这一关中卡关了,那么你或许该好好反省一下自己的学习方式了:

1. 游戏上下文的代码是否都有认真阅读?

2. 填写完代码后是否理解各代码的作用?

通关展示:

在这里插入图片描述

思路讲解

在这里插入图片描述与往常的其他关卡一样,本关也是直接按照注释提示填补代码即可。

根据第7行注释提示的if语句,还有第11行的else,我们能够快速地分析出,这是一段双分支判断语句(if-else)

知识点:双分支判断语句(if-else)

在这里插入图片描述
它的代码格式为:

if 条件:
代码语句1
else:
代码语句2

它是一个双分支语句,你可以理解成一个岔路口,有两条路供你前行。

如果if后的条件满足,则执行if代码块下的代码语句1

如果不满足,则执行else代码块下的代码语句2

代码块的概念我们上次在讲解关卡 迷失在书库 时有讲解过,不清楚的同学可以点击链接:

【转载】理解「代码块」概念,养成良好编程习惯 | 亲子课堂 第 3 课

此时我们已经知道关卡这里是要我们填写一个双分支语句,那么条件和对应的语句呢?

对于条件,第七行的注释是:
在这里插入图片描述
使用isReady语句来检查“cleave”

isReady是什么?这是我们在关卡 森林劈砍者 中接触到的新函数:
在这里插入图片描述
如果不了解它的使用,你可以在中间的函数栏中找到它,点击查看它的介绍:
在这里插入图片描述
它的作用是检查一个动作是否可以使用,在森林劈砍者中,它是作为if后的条件来使用的,因为它是一个有返回值的函数。

知识点:返回值

返回值是什么?

我来问大家一个问题,hero.attack(enemy)和hero.findNearestEnemy(),在使用的时候有什么区别?

hero.attack()函数,括号内必须要有东西,而hero.findNearestEnemy()则不用。

并且hero.attack(),大家明显可以看到它是一个动作,执行完以后英雄会进行攻击。

而hero.findNearestEnemy()使用完以后,似乎什么也没有发现,且必须这么使用:

在这里插入图片描述
一定要用在变量的赋值里。

这是因为它也是一个有返回值的函数,大家对它已经十分熟悉了,知道它的作用是找到最近的一个敌人,把它的名字赋入变量之中。

它的返回值,就是敌人的名字。

因此必须要用一个变量来承接它的返回值。

hero.isReady()也是如此,它用来检查一个动作是否可以使用,是否——返回的是布尔型的返回值。

布尔型就是:0和1,True和False。

看起来有点难懂,直接翻译来说,真和假,是和否,就是布尔型。

等于这个函数返回的结果是,检查的动作 可以使用 或 不可以使用。

所以可以直接放在if后面,作为条件来使用。
在这里插入图片描述
当然你也使用变量来承接也是一样的

在这里插入图片描述
知道了这两个知识点以后,此时的过关思路已非常清晰了:

1. 编写一个双分支语句

2. 当劈斩准备好了,执行劈斩

1. 劈斩没准备好,直接攻击

通关代码

在这里插入图片描述
以上便是森林关卡「边地僵局」的过关教学了~

本攻略发于极客战记
极客战记——学编程,用玩的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值