我們學(xué)會(huì)放磚塊后,現(xiàn)在來(lái)試試放傳送門(mén),

為什么是放傳送門(mén),而不是放磚塊?讓我們用圖來(lái)看看,放傳送門(mén)要放幾個(gè),放磚塊要放幾個(gè)?

可見(jiàn),傳送門(mén)只要放一對(duì)就可完成,而磚塊要放很多了。
代碼如下:

let greenPortal = Portal(color: #colorLiteral(red: 0.4028071761, green: 0.7315050364, blue: 0.2071235478, alpha: 1))//系統(tǒng)內(nèi)的顏色是可以點(diǎn)選的。不用這樣子寫(xiě)。
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()
}
//這個(gè)方法多做了許多的無(wú)用功,還有更好的方法嗎?
這是我為了讓角色自己完成任務(wù)寫(xiě)的方法,實(shí)際上還是有很多其他的方法,你可以試試自己寫(xiě)一下。執(zhí)行后:


注釋不一定完整,請(qǐng)?jiān)谧约旱拇a上寫(xiě)全注釋。