我们学会放砖块后,现在来试试放传送门,
为什么是放传送门,而不是放砖块?让我们用图来看看,放传送门要放几个,放砖块要放几个?
可见,传送门只要放一对就可完成,而砖块要放很多了。
代码如下:
let greenPortal = Portal(color: #colorLiteral(red: 0.4028071761, green: 0.7315050364, blue: 0.2071235478, alpha: 1))//系统内的颜色是可以点选的。不用这样子写。
world.place(greenPortal, atStartColumn: 1, startRow: 5, atEndColumn: 5, endRow: 1)
var gNum = 0
func Portalchico() {
if greenPortal.isActive == false {
Portaltrue()
}else{
Portalfalse()
}
}
func Portaltrue() {
greenPortal.isActive = true
}
func Portalfalse() {
greenPortal.isActive = false
}
while gNum < 8 {
if isOnGem {
collectGem()
gNum += 1
}else {
turnLeft()
}
if isBlocked {
turnLeft()
turnLeft()
Portalchico()
}//else if !isBlocked && !isBlockedLeft && !isBlockedRight{
//turnRight()
//}
moveForward()
}
//这个方法多做了许多的无用功,还有更好的方法吗?
这是我为了让角色自己完成任务写的方法,实际上还是有很多其他的方法,你可以试试自己写一下。执行后:
注释不一定完整,请在自己的代码上写全注释。