플레이그라운드 36

임의의 장소에 보석 놓기 - 코딩 배우기 2

let totalGems = randomNumberOfGems var ruby = 0 func getGem() { if isOnGem { collectGem() ruby += 1 } } func turnAround() { turnLeft() turnLeft() } func blocked() { if isBlocked { turnAround() if bluePortal.isActive { bluePortal.isActive = false } else { bluePortal.isActive = true } if pinkPortal.isActive { pinkPortal.isActive = false } else { pinkPortal.isActive = true } } } while ruby < totalG..

올바른 포털 설정하기 - 코딩 배우기2

var ruby = 0 while ruby < 4 { if isOnGem { collectGem() ruby += 1 if ruby == 1 { bluePortal.isActive = false }else if ruby == 2{ bluePortal.isActive = true pinkPortal.isActive = false }else if ruby == 3{ pinkPortal.isActive = true }else if ruby == 4{ pinkPortal.isActive = false } } if isBlocked{ turnLeft() turnLeft() } moveForward() } 1. ruby라는 변수를 선언하여 값 0 을 줍니다. var ruby = 0 2. while문을 사용하여 ru..

포털 켜기 및 끄기

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..

총 개수 모으기 - 코딩 배우기2

let totalGems = randomNumberOfGems var ruby = 0 while ruby != totalGems { if isOnGem { collectGem() ruby += 1 } if !isBlockedRight{ turnRight() }else if !isBlockedLeft{ turnLeft() }else if isBlocked{ turnLeft() turnLeft() } moveForward() } 1. 변수 ruby 를 선언하였고 값 0 을 주었다 . var ruby = 0 2. ruby 의 값과 tatalGems(총 보석의 값)이 같지 않을동안 반복문을 실행하게 하였다. 보석이 만약 있으면 보석을 수집하고 ruby의 값을 +1 한다. while ruby != totalGem..

스위치 모으기 -코딩 배우기2

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..

동일한 값 확인하기 - 코딩 배우기2

let switchCounter = numberOfSwitches var ruby = 0 while ruby != switchCounter { if isOnGem { collectGem() ruby = ruby + 1 } if isBlocked { turnRight() } moveForward() } 1. 주어진 상수 switchCounter 확인하였다 . let switchCounter = numberOfSwitches 2. 변수 ruby 를 선언 후 0 값을 주었다. var ruby = 0 3. ruby의 값과 switchCounter 값이 같으면 반복문이 끝나도록 설계하였다. (스위치 개수만큼 보석을 수집이 목표였으므로..) 만약에 보석이 있다면 보석을 수집하고 ruby에 +1 을 해주고, 앞이 벽..