본문 바로가기
Coding/Swift

Playgrounds 코딩 배우기 2 > 매개변수 > 트윈 픽스

Swift Playgrounds 코딩 배우기 2 > 매개변수 > 트윈 픽스

 

캐릭터의 위치를 설정할 수 있다는 점을 이용하기

 

제시 조건_

totalGems로 총 개수가 표시되면 개수가 임의로 결정되는 보석을 수집하자.

 

사용자의 매개변수, 초기화, 메소드, 변수 등의 지식을 시험해 보세요!

 

 

부가 정보_

캐릭터와 전문가의 위치를 지정하며 시작할 수 있다. -> world.place(~)

 

 

내 코드_

let totalGems = randomNumberOfGems
let expert = Expert()
let character = Character()

var gemCounter = 0
var counter = 0

func getGem() {
    if character.isBlocked {
        character.jump()
    } else {
        character.moveForward()
    }
    if character.isOnGem {
        character.collectGem()
        gemCounter += 1
    }
}

world.place(expert, facing: .north, atColumn: 0, row: 4)
world.place(character, facing: .north, atColumn: 4, row: 0)

expert.turnLock(up: true, numberOfTimes: 2)

while gemCounter != totalGems {
    for i in 1...6 {
        getGem()
    }
    character.turnLeft()
    getGem()
    character.turnLeft()
    for i in 1...6 {
        getGem()
    }
    character.turnRight()
    getGem()
    character.turnRight()
    for i in 1...6 {
        getGem()
    }
    world.place(character, facing: .north, atColumn: 4, row: 0)
}

+

세 줄을 한 번씩 방문하면 캐릭터를 시작 위치로 되돌려놓는 코드로

보석을 총 개수만큼 수집할 때까지 반복되게 하였다.