고민 🤔
1. while문의 실행 조건
> 보석을 수집할 때 동일한 수의 스위치를 작동시켜야한다.
var gem = 0 //보석을 할당할 변수
var switchCount = 0 //스위치를 할당할 변수
두개의 변수에 할당된 정수가 같아질때까지 작동
2. 초기엔 둘 다 0임으로 while문에 || (or)연산자를 통해 추가 조건을 작성해준다
while gem == 0 || gem != switchCount {
//여기에 움직임, 보석수집, 스위치 On코드 작성
}
3. 움직임에 대한 코드 작성
앞이 막혀있지 않다면 앞으로 직진
왼쪽이 막혀있다면 오른쪽으로 턴, 오른쪽이 막혀있다면 왼쪽으로 턴
func moveFlow() {
if !isBlocked{
moveForward()
} else if isBlockedLeft {
turnRight()
} else {
turnLeft()
}
}
4. 스위치 On / 보석 수집 로직 작성
func collect() {
if isOnGem {
collectGem()
gem += 1
} else if isOnClosedSwitch {
toggleSwitch()
switchCount += 1
}
}
전체 코드
var gem = 0
var switchCount = 0
func moveFlow() {
if !isBlocked{
moveForward()
} else if isBlockedLeft {
turnRight()
} else {
turnLeft()
}
}
func collect() {
if isOnGem {
collectGem()
gem += 1
} else if isOnClosedSwitch {
toggleSwitch()
switchCount += 1
}
}
while gem == 0 || gem != switchCount {
moveFlow()
collect()
}
'🍎swift > [Playground]코딩배우기2' 카테고리의 다른 글
[Playground 코딩배우기2] 옳바른 포탈 설정하기 (0) | 2023.12.24 |
---|---|
[Playground 코딩배우기2] 동일한 값 확인하기 (0) | 2023.12.24 |
[Playground 코딩배우기2] 3개의 보석, 4개의 스위치 (0) | 2023.12.24 |