我们来到这一关,要求我们做好两个角色之间的配合。
.jump()是这一关的关键,我们要用对角色才可以。
我们用一个简单的方式来分解要完成的工作。分成三部分,先收集连续的三颗,再收集连续的两颗,再收最后一颗。
代码如下:
let expert = Expert()
let character = Character()
var gemNum = 0
world.place(expert, facing: .north, atColumn: 3, row: 0)
expert.turnLock(up: true, numberOfTimes: 1)
expert.toggleSwitch()
world.place(character, facing: .north, atColumn: 0, row: 0)
for i in 0 ... 3 {
if character.isOnGem {
character.collectGem()
}
character.jump()
if character.isOnGem {
character.collectGem()
}
}
character.turnRight()
for i in 0 ... 3 {
if character.isOnGem {
character.collectGem()
}
character.jump()
if character.isOnGem {
character.collectGem()
}
}
character.turnLeft()
for i in 1 ... 2 {
if character.isOnGem {
character.collectGem()
}
character.jump()
if character.isOnGem {
character.collectGem()
}
}
这个方面不是唯一的答案,如果你有新的想法,请尝试写下来。也许你的方法会更精彩。