Swift랑 친해지기/Swift PlayGround

포털 켜기 및 끄기

데브킹덕 2022. 1. 1. 18:58

purplePortal.isActive = false

var ruby = 0
var openSwitch = 0

while ruby < 7 {
    moveForward()
    if isOnGem {
        collectGem()
        ruby += 1
    }
    if isBlocked{
        turnLeft()
        turnLeft()
        purplePortal.isActive = true
    }
    if isOnClosedSwitch{
        toggleSwitch()
        openSwitch += 1
        purplePortal.isActive = false
    }
    
    
}

1. purplePortal 인스턴스를 이용해 포탈을 닫아줍니다. 

purplePortal.isActive = false

2. ruby와 openSwitch 변수를 선언해 주고 값을 0으로 줍니다. 

ruby = 보석의 개수

openSwitch = 켜져있는 스위치의 개수

var ruby = 0
var openSwitch = 0

 

3. ruby의 값이 7개보다 적을동안만 실행 되는 반복문을 만듭니다. 

무조건 앞으로 한칸 이동하며,

보석이 있으면 보석을 수집하고 ruby의 값에 +1을 합니다. 

while ruby < 7 {
    moveForward()
    if isOnGem {
        collectGem()
        ruby += 1
    }
}

4. 앞의 벽이 막혀 있다면 왼쪽으로 두번 회전하여 뒤도는 조건문을 만들고, purplePortal 인스턴스 속성에 true를 주어 포탈이 열릴 수 있도록 합니다.

	if isBlocked{
        turnLeft()
        turnLeft()
        purplePortal.isActive = true
    }

5. 스위치가 닫혀있다면 스위치를 키고 openSwitch의 값에 +1을 한뒤, purplePotal 인스턴스 속성에 false를 주어 포탈이 닫힐 수 있도록 합니다.  

if isOnClosedSwitch{
        toggleSwitch()
        openSwitch += 1
        purplePortal.isActive = false
    }