티스토리 뷰
728x90
반응형
...
"나는 아직 다 모른다. 아는 것도 다시 살펴보자."
크
마지막이라 그런가
자료구조가 나오는구만..!
... 설명을 이해하는데 시간이 좀 걸렸다 ..
+ // 좌표를 제거하고 비어있는 배열에 좌표를 추가합니다. 라는데, 어떤 좌표를 제거해야하는건지를 몰라서 헤맸다 ...
let allCoordinates = world.allPossibleCoordinates
var heights: [Int] = []
// 높이에 임의의 숫자를 추가합니다.
for _ in 1...20 {
let randInt = randomInt(from: 1, to: 20)
heights.append(randInt)
}
var index = 0
for coordinate in allCoordinates {
if index == heights.count {
index = 0
}
// currentHeight는 높이를 현재 인덱스에 저장합니다.
var currentHeight = heights[index]
if currentHeight == 0 {
// currentHeight가 0과 같다면 흥미로운 작업을 수행합니다.
} else {
for i in 1...currentHeight {
world.place(Block(), at: coordinate)
}
if currentHeight > 10 {
// 캐릭터 배치와 같은 작업을 수행합니다.
world.place(Character(), at: coordinate)
} else if coordinate.column >= 3 && coordinate.column < 6 {
// 물 배치와 같은 작업을 수행합니다.
world.removeAllBlocks(at: coordinate)
world.place(Water(), at: coordinate)
}
// 더 많은 규칙을 추가하여 세상을 사용자화합니다.
}
index += 1
}
let allCoordinates = world.allPossibleCoordinates
for coordinate in allCoordinates {
// 각 좌표의 행과 열의 합계가 되도록 높이를 변경합니다.
let height = coordinate.column + coordinate.row
for i in 0...height {
world.place(Block(), at: coordinate)
}
if height >= 8 && height < 10 {
world.place(Character(name: .blu), at: coordinate)
} else if height > 9 {
world.place(Character(name: .hopper), at: coordinate)
}
}
// 퍼즐 세상에 있는 기존 캐릭터 배열을 초기화합니다.
let characters = world.existingCharacters(at: allCoordinates)
// 각 캐릭터에 대한 동작 세트를 수행합니다.
var numOfAction = 0
for character in characters {
switch(numOfAction % 5) {
case 1 : character.danceLikeNoOneIsWatching()
case 2 : character.turnUp()
case 3 : character.breakItDown()
case 4 : character.grumbleGrumble()
default: character.argh()
}
numOfAction += 1
}
// 멋진 작업을 해보세요 🤓.
squareLock.movePlatforms(up: true, numberOfTimes: 3)
for hopper in hoppers {
hopper.turnUp()
hopper.breakItDown()
}
cornerLock.movePlatforms(up: true, numberOfTimes: 7)
for expert in experts {
expert.breakItDown()
expert.argh()
}
for blu in blus {
blu.jump()
blu.turnLeft()
blu.grumbleGrumble()
}
backLock.movePlatforms(up: true, numberOfTimes: 11)
for blu in blus {
blu.turnLeft()
blu.argh()
}
이건 뭘 해보라는건지 모르겠네...
그냥 자유주제같은 느낌 ...
마지막 문제가
그냥 원하는 대로 만들어보라해서
이전단계에 있던거 그냥 복붙했다...
이럴 시간에 백준을 푸는게..싶어서
728x90
반응형
'Swift Playground' 카테고리의 다른 글
코드머신 (0) | 2021.02.12 |
---|---|
코딩 배우기2 - 퍼즐 세상 만들기 (0) | 2021.02.12 |
코딩 배우기2 - 매개변수 (0) | 2021.02.10 |
코딩 배우기2 - 초기화 (0) | 2021.02.10 |
코딩 배우기2 - 유형 (0) | 2021.02.10 |