在這一關(guān)里亦鳞,我們要學(xué)著利用類型的屬性狀態(tài)進(jìn)行操作堤尾,對(duì)于屬性狀態(tài)的識(shí)別,讓角色通過傳送門達(dá)到往復(fù)的目的突雪。
傳送門的狀態(tài)是開是關(guān)對(duì)于角色來說很重要什黑,我們想要贏崎淳,必須得學(xué)會(huì)調(diào)整傳送門的屬性狀態(tài)。
代碼如下:
'''swift
var gemNum = 0
var swiNum = 0
func newFind() {
? ? if isBlocked && !isBlockedLeft && !isBlockedRight {
? ? ? ? turnLeft()
? ? ? ? moveForward()
? ? }else if !isBlockedLeft && !isBlockedRight {
? ? ? ? turnRight()
? ? ? ? moveForward()
? ? }else if !isBlockedLeft && isBlockedRight{
? ? ? ? turnLeft()
? ? ? ? moveForward()
? ? } else if isBlocked && isBlockedLeft && isBlockedRight {
? ? ? ? turnLeft()
? ? ? ? turnLeft()
? ? }else if isBlocked && isBlockedLeft && !isBlockedRight {
? ? ? ? turnRight()
? ? ? ? moveForward()
? ? }else{
? ? ? ? moveForward()
? ? }
}
while gemNum < 6? || swiNum < 6{
? ? if isOnGem {
? ? ? ? collectGem()
? ? ? ? gemNum += 1
? ? }
? ? if isOnClosedSwitch {
? ? ? ? toggleSwitch()
? ? ? ? swiNum += 1
? ? }
? ? newFind()
? ? if gemNum % 2 == 0? && swiNum%2 == 0{
? ? ? ? orangePortal.isActive = true
? ? ? ? greenPortal.isActive = true
? ? }else {
? ? ? ? orangePortal.isActive = false
? ? ? ? greenPortal.isActive = false
? ? }
}
'''
通過我們的執(zhí)行愕把,得到了希望的結(jié)果凯力。過程可能是有些時(shí)間和位置浪費(fèi),希望大家能找到更好的方式方法礼华。