本關(guān)要有兩個專家合作才行了。
本關(guān)的目標是
整個方法是我們之前做過的煌珊,這里是要對專家的行動具體化編程号俐。
代碼如下:
let expert1 = Expert()
let expert2 = Expert()
world.place(expert2, facing: .north, atColumn: 0, row:4)
world.place(expert1, facing: .east, atColumn: 0, row: 0)
if expert1.isOnGem {
? ? expert1.collectGem()
}
if expert2.isOnGem {
? ? expert2.collectGem()
}
expert1.move(distance: 4)
if expert1.isBlocked {
? ? expert2.turnLock(up: false, numberOfTimes: 1)
}
expert1.move(distance: 2)
if expert1.isBlocked {
? ? expert1.turnLock(up: false, numberOfTimes: 2)
}
expert1.turnRight()
expert1.turnRight()
expert1.move(distance: 3)
expert1.turnRight()
expert1.turnLock(up: true, numberOfTimes: 2)
expert2.turnRight()
while !expert2.isBlocked {
? ? if expert2.isOnGem {
? ? ? ? expert2.collectGem()
? ? }
? ? expert2.moveForward()
}
執(zhí)行后:
注釋還是要我們自己加上去。
如果你能有更精彩的方法定庵,可以再試一下吏饿。