Swift Playgrounds

コードを学ぼう2【自分だけのステージ】解答例と解説

自分だけのステージ

解答例

world.place(Gem(), atColumn: 0, row: 3)
world.place(Gem(), atColumn: 1, row: 3)
world.place(Gem(), atColumn: 2, row: 3)
world.place(Gem(), atColumn: 3, row: 3)
world.place(Gem(), atColumn: 4, row: 3)
world.place(Gem(), atColumn: 5, row: 3)
world.place(Gem(), atColumn: 6, row: 3)

world.removeItems(atColumn: 0, row: 3)
world.removeItems(atColumn: 1, row: 3)
world.removeItems(atColumn: 2, row: 3)
world.removeItems(atColumn: 3, row: 3)
world.removeItems(atColumn: 4, row: 3)
world.removeItems(atColumn: 5, row: 3)
world.removeItems(atColumn: 6, row: 3)

let pinkPortal = Portal(color: .pink)
let yellowPortal = Portal(color: .yellow)
let whitePortal = Portal(color: .white)

world.place(pinkPortal, atStartColumn: 0, startRow: 5, atEndColumn: 0, endRow: 4)
world.place(yellowPortal, atStartColumn: 1, startRow: 5, atEndColumn: 1, endRow:4)
world.place(whitePortal, atStartColumn: 2, startRow: 5, atEndColumn: 2, endRow: 4)

world.place(Block(), atColumn: 6, row: 6)
world.place(Block(), atColumn: 7, row: 6)
world.place(Block(), atColumn: 7, row: 6)

world.place(Gem(), atColumn: 4, row: 6)
world.place(Gem(), atColumn: 4, row: 5)
world.place(Gem(), atColumn: 4, row: 4)
world.place(Gem(), atColumn: 5, row: 4)
world.place(Gem(), atColumn: 6, row: 4)

world.place(Character(), atColumn: 5, row: 6)
world.place(Expert(), atColumn: 5, row: 5)
world.place(Expert(), atColumn: 6, row: 5)
world.place(Expert(), atColumn: 7, row: 5)
world.place(Character(), atColumn: 6, row: 6)
world.place(Character(), atColumn: 7, row: 6)

解説

宝石、スイッチ、何でも好きに配置できるので、遊んでみました。笑
課題の説明に、ショートカットバーについて書いてあります。

ショートカットバーには、world(ステージ)インスタンスで使うことのできるメソッドが用意されています。
これらのメソッドを使って、自分だけのステージを作りましょう。

world.と入力した後、ショートカットバーに『removeItems()』というのがあります。
removeは『取り除く』という意味ですね。
そこで、最初に宝石を設置してから取り除いてみました。
そうすると、ずらっと並んでからまた順に消えていきます。
きれいかな?と思って。

Portalの色も、『.色』で何色ができるか試してみてください。
この課題でたくさん遊んでみましょう。

実行後はこのようになります。
完成品

要点まとめ

・好きな配置で何をやってもゴールできる