Swift랑 친해지기/Swift PlayGround

3개의 보석, 4개의 스위치 - 코딩 배우기2

데브킹덕 2021. 12. 31. 16:09

var ruby = 0
var openSwitch = 0

while ruby < 3 || openSwitch < 4{
    
    if !isBlockedRight {
        turnRight()
    }else if !isBlockedLeft {
        turnLeft()
    }
    moveForward()
    
    if ruby < 3 {
        if isOnGem {
        collectGem()
        ruby = ruby + 1
        }
    }else if openSwitch < 4{
            if isOnClosedSwitch{
                toggleSwitch()
                openSwitch = openSwitch + 1
            }
        }
    

}

1. 보석과 열린스위치의 변수선언을 해주고 값을 주었다.  

* 초기값은 둘다 0 으로 설정

var ruby = 0
var openSwitch = 0

2. 보석은 3개 열린스위치는 4개 이상 되면 동작이 그만되어야 하므로 while 문을 통해 반복 할 수 있도록 하였다. 

while ruby != 3 || openSwitch != 4{
while ruby < 3 || openSwitch < 4{

*두개 코드  모두 사용 가능

 

3. 한길로만 되어 있어 오른쪽벽이 막혀 있지 않으면 오른쪽으로 ,

왼쪽벽이 막혀 있지 않으면 왼쪽으로 회전을 주었다.

이후 앞으로 이동은 고정적으로 하도록 했다.  

* 이 코드를 먼저 두지 않으면 미션?을 완료해도 굳이 한칸 간다.  (불편해서 앞에 두었다..)

if !isBlockedRight {
        turnRight()
    }else if !isBlockedLeft {
        turnLeft()
    }
    moveForward()

4.  보석을 3개만 수집하고 스위치를 4개만 키기 위해 다음과 같이 코딩했다.

여기서 ruby<3 대신 rubt != 3을 써도 무방하다. 

if ruby < 3 {
        if isOnGem {
        collectGem()
        ruby = ruby + 1
        }
    }else if openSwitch < 4{
            if isOnClosedSwitch{
                toggleSwitch()
                openSwitch = openSwitch + 1
            }
        }