[조건 코드] 의사 결정 트리
728x90

playgrounds - 코딩 배우기 1 - 의사 결정 트리

 

도전 과제 : 상태를 테스트하고 경로를 수정해 보세요.

 

이번 도전 과제에서는 중앙의 발판을 따라 보석을 수집하고 스위치를 작동해야 합니다. 하지만, 길이 복잡해 쉽게 다가갈 수 없네요.

 

조건 코드를 사용하면 캐릭터가 보석이나 닫혀 있는 스위치 위에 있는지 확인하고 각 상태에 맞게 다른 동작을 실행합니다.

 

예제)

for i in 1 ... 5 {

     moveForward()

     if isOnGem {

          solveRightSide()

     } else if isOnClosedSwitch {

          solveLeftSide()

     }

}

 

한번 해보시고 아래 내용 드래그하면 보입니다.

 

--------------------------------------------------------------------------------------------

 

func check(){

    moveForward()

    if isOnClosedSwitch{

        toggleSwitch()

    }

    else if isOnGem{

        collectGem()

    }

}

func turnAround(){

    turnRight()

    turnRight()

}

func go(){

    moveForward()

    moveForward()

    moveForward()

}

for i in 1 ... 2 {

    check()

    turnRight()

    go()

    turnLeft()

    check()

    turnAround()

    moveForward()

    turnRight()

    go()

    turnRight()

    check()

    turnLeft()

    check()

    turnAround()

    moveForward()

    turnLeft()

    check()

}

 

--------------------------------------------------------------------------------------------

 

* 저의 생각으로 짜인 것으로 꼭 정답은 아닙니다.

 

728x90