大宮盆栽デイズ - Omiya Bonsai Days -

冗談めかす埼玉のファインマン

配列の技@コードを学ぼう2

ここまでのステージに来ている人ならば和訳は必要ないと思いました。ただ、せっかくなのでいくつかの単語を紹介します。

inColumns: 複数の行数内なら「in Columns」
intersectingRows: 複数の列なら「横切る」を意味する「intersect」
coor: 「coordinate」の略
Do cool stuff, argh については辞書を調べると下のような意味になるようです。

dò [shòw] one's stúff
⦅くだけて⦆自分の腕前[得意なこと]を披露する.

aargh | ɑːrɡ|ɑːx |
間投詞
アーッ, うわーっ, ぐぁーっ (!怒り・失望・苦痛などの感情を表す) .

// 配列の技@コードを学ぼう2
// Create coordinate zones.
let allCoordinates = world.allPossibleCoordinates
let backRow = world.coordinates(inRows: [9])
let insideSquare = world.coordinates(inColumns: [4,5], intersectingRows: [4,5])
let squareCorners = world.coordinates(inColumns: [2,3,6,7], intersectingRows: [3,7])

// Place platform locks.
let squareLock = PlatformLock(color: .green)
world.place(squareLock, at: Coordinate(column: 1, row: 1))
let cornerLock = PlatformLock(color: .pink)
world.place(cornerLock, at: Coordinate(column: 8, row: 1))
let backLock = PlatformLock(color: .blue)
world.place(backLock, at: Coordinate(column: 4, row: 1))

// Place characters and platforms.
for coor in insideSquare {
    world.place(Platform(onLevel: 4, controlledBy: squareLock), at: coor)
    world.place(Character(name: .hopper), at: coor)
}

for coor in squareCorners {
    world.place(Platform(onLevel: 4, controlledBy: cornerLock), at: coor)
    world.place(Expert(), at: coor)
}

for coor in backRow {
    world.place(Platform(onLevel: 2, controlledBy: backLock), at: Coordinate(column: coor.column, row: coor.row + 1))
    world.place(Character(name: .blu), facing: north, at: coor)
}

// Create arrays from existing characters.
let blus = world.existingCharacters(at: backRow)
let hoppers = world.existingCharacters(at: insideSquare)
let experts = world.existingExperts(at: squareCorners)

// Do cool stuff 🤓.
squareLock.movePlatforms(up: true, numberOfTimes: 3)

for hopper in hoppers {
    hopper.turnUp()
}

cornerLock.movePlatforms(up: true, numberOfTimes: 7)

for expert in experts {
    expert.breakItDown()
}

for blu in blus {
    blu.jump()
}
backLock.movePlatforms(up: true, numberOfTimes: 11)


for blu in blus {
    blu.turnLeft()
    blu.turnLeft()
    blu.argh()
    blu.breakItDown()
}

youtu.be