这一关并不复杂,而是要用我们学过的知识进行处理。
关键在于循环该如何结束,搞清楚了这一点,就容易写循环了。
地图上要我们摆放道具的位置。
想好路线图
在这里宝石的数量是随机出现的。
代码如下:
let totalGems = randomNumberOfGems
let character = Character()
let Block1 = Block()
var GNum = 0
world.place(Block1, atColumn: 0, row: 2)
world.place(character, facing: .east, atColumn: 7, row: 3)
while GNum < totalGems {
if character.isOnGem {
character.collectGem()
GNum += 1
}else if character.isBlocked && character.isBlockedLeft {
character.turnRight()
}else if character.isBlocked && character.isBlockedRight {
character.turnLeft()
}else{
character.moveForward()
}
}
执行后:
把代码注释自己记得加上去。