Swift랑 친해지기/Swift PlayGround

논리연산자 - 논리의 미로

데브킹덕 2021. 12. 27. 16:32

for i in 1 ... 8 {                      // 8번동안 반복
    moveForward()                       // 앞으로 한칸이동
    if isOnClosedSwitch && isOnGem {    // 만약 스위치가 닫혀있고 보석이 있다면
        collectGem()                    // 보석을 수집하고
        toggleSwitch()                  // 스위치를 켜라
        turnRight()                     // 오른쪽으로 회전
        moveForward()              
        moveForward()                   // 두칸 앞으로 이동
        collectGem()                    // 보석을 수집해라
        if isBlocked && isBlockedLeft { // 만약 앞과 왼쪽이 막혀있다면
        turnLeft()                      
        turnLeft()                      // 왼쪽으로 뒤돌아라
        moveForward()    
        moveForward()                   // 두칸 앞으로 이동
        turnRight()                     // 오른쪽으로 회전
        }
    }else if isOnClosedSwitch{          // 스위치가 닫혀있다면
        toggleSwitch()                  // 스위치를 키고
        turnLeft()                      // 왼쪽으로 돌아라
    }else if isOnGem{                   // 보석이 있다면
        collectGem()                    // 보석을 수집해라
    }
}

10번째 줄에 if is Blocked && isBlockedLeft 문장을 굳이 안넣어도 실행은 된다. 

마지막에 굳이 보석을 먹고 끝나지 않고 행동을 취하는게 불편해서 넣은 문장이다.

 

스위프트 플레이그라운드 -Swift Playground

논리연산자 - 논리의 미로