经过上一关的学习,我们知道了如何构建一个带有参数的函数,并且会使了参数。在这一关里,我们要继续学习一下函数。
假设吃是一个命令,有吃饭和吃菜两种选择,吃菜是一种参数,吃饭是另一种参数,然后就告诉角色吃多少口的参数,就是这样子的方式了:
吃(参数:饭,参数:5口)
吃(参数:菜,参数:2口)
在这里,我们对于饭和菜的选择,可以用true和false代替,多少口可以用int代替。
这一关,我们的目标是:
代码如下:
let expert = Expert()
let character = Character()
func turnLock(up:Bool,numberOfTimes:Int){
for i in 1 ... numberOfTimes {
if up == true {
expert.turnLockUp()
}else {
expert.turnLockDown()
}
}
expert.turnLeft()
expert.turnLeft()
}
func turnAround() {
character.turnLeft()
character.turnLeft()
}
for i in 1 ... 2 {
turnLock(up: true, numberOfTimes: 3)
}
for i in 1 ... 3 {
character.moveForward()
}
character.collectGem()
turnAround()
character.moveForward()
character.turnLeft()
character.moveForward()
character.turnLeft()
for i in 1 ... 2 {
turnLock(up: false, numberOfTimes: 2)
}
character.moveForward()
character.collectGem()
turnAround()
for i in 1 ... 2 {
character.moveForward()
}
for i in 1 ... 2 {
turnLock(up: false, numberOfTimes: 1)
}
character.moveForward()
character.collectGem()
执行后:
别忘记注释代码啊。