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
}
}
'Swift랑 친해지기 > Swift PlayGround' 카테고리의 다른 글
스위치 모으기 -코딩 배우기2 (0) | 2022.01.01 |
---|---|
동일한 값 확인하기 - 코딩 배우기2 (0) | 2021.12.31 |
7개의 보석 찾기 - 코딩 배우기2 (0) | 2021.12.31 |
값 증가시키기 - 코딩 배우기2 (0) | 2021.12.31 |
값 올리기 - 코딩배우기2 (0) | 2021.12.31 |