swift playground의 코딩배우기2, 도전과제 중 '임의의 장소에 보석 놓기' 코드 공유합니다.
보석의 수가 처음에 랜덤으로 주어지고,
포털을 적절히 열고 닫으면서 모든 보석을 수집하는 퍼즐입니다.
어려웠던 점은 포털을 켜고 끄는 조건을 어떻게 줄 수 있을까 하는 것이었는데,
저는 걸음수를 따로 변수로 두고, 전체 맵을 돌아다닐 수 있도록 하면서
특정 위치에서 포털이 on/off 되게 작성했습니다.
아래의 코드로 해결했는데,
필요하신 분이 있다면 참고하셔서 본인의 코드를 작성하시면 될 것 같아요
let totalGems = randomNumberOfGems
var walkCount = 0
var gemCount = 0
func navAround() {
if !isBlocked && isBlockedRight {
moveForward()
} else if isBlocked && !isBlockedRight {
turnRight()
moveForward()
} else if !isBlocked && !isBlockedRight && isBlockedLeft {
turnRight()
moveForward()
} else if isBlocked && isBlockedRight {
turnLeft()
turnLeft()
moveForward()
}
}
while gemCount != totalGems {
if walkCount == 0 || (walkCount > 6 && walkCount < 14) || walkCount > 16 {
pinkPortal.isActive = false
bluePortal.isActive = false
} else if walkCount == 6 || walkCount == 14 {
pinkPortal.isActive = true
bluePortal.isActive = true
}
if isOnGem {
collectGem()
gemCount += 1
}
navAround()
walkCount += 1
}
'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.04 |
swift playgrounds - swift 입문자를 위한 어플리케이션 (0) | 2021.05.04 |