这一关,我们来学习一个新的知识,参数。
我们在之前的练习里,如果想让角色向前走连续五步,可以通过五次向前的命令执行,也可以创造一个for循环,把i定义在1...5之间,两种方式都可以达到目的。
假设,现在有一个命令叫"moveForwardA()",它提供了一个参数,叫"distanceA:int",通过对“int”的设置,我们可以直接实现走路步数的设定,比如:
"moveForwardA(distanceA:5)"
通过这种设定方法,我们可以省略很多繁琐的代码编写。想走6步,就把int设定为6;想走10000步,就把int设定为10000,这么一比较,是不是就发现参数是不是很省事。
下面,让我们来学习如何使用参数。
这是本关卡的目标。
代码如下:
let expert = Expert()
func move(distance: Int){
for i in 1 ... distance{
expert.moveForward()
}
}
move(distance: 6)
expert.turnRight()
move(distance: 2)
expert.turnRight()
move(distance: 5)
expert.turnLeft()
move(distance: 5)
expert.turnLeft()
expert.turnLockUp()
expert.turnLeft()
move(distance: 3)
expert.turnRight()
move(distance: 3)
expert.turnRight()
move(distance: 4)
expert.collectGem()
我们通过先创造一个for循环的方式构建了一个带有参数的命令,然后,我们在下面的使用中,只需要通过设定参数的方式来使用命令就可以了。这种方式实现了for循环的复用,可以很轻松的让我们直接完成想要的工作。
结果如下:
我们没有任何代码的注释在后面。如果你不想忘记自己的想法,就自己在后面加上去吧。就像这样子: