swift playground를 하다가 해결하는데 시간이 조금 걸렸던 도전과제의 코드 하나를 공유해봅니다.
'세상의 가장자리' 도전과제였는데,
저같은 경우에는 계속 삽질만 하다가 생각을 바꿔서 성공하게 되었어요
func navCross() {
if !isBlocked && isBlockedLeft && isBlockedRight {
moveForward()
} else if !isBlocked && !isBlockedRight && !isBlockedLeft {
turnLeft()
moveForward()
} else if isBlocked && isBlockedLeft && isBlockedRight {
turnLeft()
turnLeft()
} else if !isBlocked && isBlockedRight && !isBlockedLeft {
turnLeft()
moveForward()
} else if isBlocked && !isBlockedLeft && !isBlockedRight {
turnRight()
moveForward()
}
}
var gemCount = 0
var switchCount = 0
greenPortal.isActive = false
orangePortal.isActive = false
turnLeft()
moveForward()
while switchCount != 6 {
if isOnGem {
collectGem()
gemCount += 1
}
if isOnClosedSwitch {
turnLeft()
turnLeft()
toggleSwitch()
switchCount += 1
}
if switchCount > 0 && switchCount < 4 {
greenPortal.isActive = false
} else if gemCount > 1 && switchCount == 0 {
greenPortal.isActive = true
} else if gemCount == 2 && switchCount == 4 {
greenPortal.isActive = true
} else if gemCount == 6 && switchCount == 4 {
orangePortal.isActive = true
} else if switchCount == 5 {
orangePortal.isActive = false
}
navCross()
}
위의 코드로 해결했습니다.
'iOS > swift' 카테고리의 다른 글
swift - print (출력함수) 예시 (0) | 2021.05.29 |
---|---|
swift - 명명 규칙들 && commenting (0) | 2021.05.29 |
제거된 값 첨부하기 코드공유 (swift playground - 코딩 배우기2) (0) | 2021.05.12 |
임의의 장소에 보석 놓기 코드공유 (swift playground - 코딩 배우기2) (0) | 2021.05.05 |
swift playgrounds - swift 입문자를 위한 어플리케이션 (0) | 2021.05.04 |