var ruby = 0
var switchNum = 0
while ruby == 0 || switchNum != ruby{
if isOnGem {
collectGem()
ruby += 1
}else if isOnClosedSwitch{
toggleSwitch()
switchNum += 1
}
if isBlocked{
turnRight()
}
moveForward()
}
코드 설명
1. 먼저 보석과 켜진스위치 변수를 선언하고 0값을 준다.
var ruby = 0
var switchNum = 0
2. 보석과 켜진스위치 개수가 같으면 반복문이 끝나도록 하고,
처음에 보석과 켜진 스위치 개수가 0으로 반복문이 실행이 안되기 때문에 보석이 0일때도 포함시켜 한다. ( OR 연산자를 사용했다.)
while ruby == 0 || ruby != switchNum{
}
3. 조건문을 통해 보석이 있으면 수집하고 , 복합할당연산자를 이용하여 ruby의 수를 +1 한다.
마찬가지로 조건문을 통해 닫힌 스위치가 있으면 스위치를 켜고, 복합 할당연산자를 이용하여 switchNum의 수를 +1을 한다.
if isOnGem{
collectGem()
ruby += 1
}else if isOnClosedSwitch{
toogleSwitch()
switchNum += 1
}
4. 앞이 막혀 있다면 오른쪽으로 회전하고 moveforward()를 주어 무조건 앞으로 한칸이동 하도록 한다.
if isBlocked{
trunRight()
}
moveForward()
'Swift랑 친해지기 > Swift PlayGround' 카테고리의 다른 글
인스턴스, 메소드, 속성 의 뜻 (0) | 2022.01.01 |
---|---|
총 개수 모으기 - 코딩 배우기2 (0) | 2022.01.01 |
동일한 값 확인하기 - 코딩 배우기2 (0) | 2021.12.31 |
3개의 보석, 4개의 스위치 - 코딩 배우기2 (0) | 2021.12.31 |
7개의 보석 찾기 - 코딩 배우기2 (0) | 2021.12.31 |