MacOS Playgrounds 学习编程二 第九关 类型1-关闭传送门

我们之前学习了变量。回忆一下变量,我们想到它是变化的,可以从1变成2,也可以从1变成0,它是一个数值,那还有其他的变量吗?这一节,我们就开始学习类型,它可以解答你的疑问。

让我来到第一个类型的关卡,关闭传送门。

在游戏开始的时候,传送门是打开的。就像这样子一样。

如果我们让角色直接走过去,传送门就把我们送到一座小砖块上了,那怎么样才能把传送门关上呢?设想一下,传送门是一个房间的门,这个门的状态有两种:

门--打开

门--关闭

是不是,那么我们对传送门可否给它的状态进行设定?

传送门.打开()

传送门.关门()

是的,系统给我们了传送门的状态的设定代码。就是这句:

greenPortal.isActive =false

false代表“否”,true代表“是”。

greenPortal.isActive =false  //代表传送门是关闭的。

greenPortal.isActive =ture   //代表传送门是打开的。

我们把过关的要求,放在这里:

学会了,传送门状态的变更方法,我们可以进行下面的工作了。写代码。

代码如下:

greenPortal.isActive =false

var MoveNum = 0

while MoveNum < 30 {

    moveForward()

    MoveNum +=1

    if isBlocked && isBlockedLeft && isBlockedRight {

        turnLeft()

        turnLeft()

    }

    if isOnClosedSwitch {

        toggleSwitch()

    }

    if MoveNum %6==3{

        turnLeft()

    }

}

在这里,我们首先就改变了传送门的状态,然后创造了一个变量,让变量用于标准移动的次数。然后通过while循环,去判断走路的方向和动作操作。

MoveNum %6==3

这一句是用来判断角色是否回到十字路口的中心,“%6”表示除以六,是个除法的表示形式。因为在这个地图里,每走一个路口来回经过的砖块数量是6,在这个地图上是不变的。所以,我们偷一下懒。等于3,是因为,前面角色走到中心,已经经过了三块砖。

执行结果如下:

我们改变的传送门的状态,叫做属性。属性的状态可以改变的话,也是一种变量。

想想,还有什么其他的方法可以让角色自己走遍十字路的砖块。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容