Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

「Nesting Patterns」

著者: 氷川りそな

「Nesting Patterns」

[ ステージMAP ]

[ クリア条件 ]

ステージ上にあるジェム4個を獲得

[ 難易度 ]

[ 使用するコマンド・条件式 ]

collectGem() moveForward() turnLeft() turnRight() toggleSwitch() turnAround() solveStair()

【攻略のポイント】Functionは入れ子にできる

複数のコマンドを内包して新しいコマンドを自作することができる関数は一度覚えるととても便利な機能ですが、一方でたくさん入れ過ぎてしまうとうまく動作しない際の修正作業を行う際に苦労することもあります。そこで活用したいのが関数の「Nest(入れ子)」です。一度定義された関数は、ほかのコマンド同様に別の関数に組み込むことができるので、上手に活用してコマンドをバランスよく配分していきましょう。

Functionを小分けにして定義

関数を使う一番のメリットは、コード全体の量を減らせることです。長すぎるコードは、(今回の特集では取り上げられなかった)「Bug Squash Practice」というステージのように、うまく動かなくなってしまった場合に、間違えを見つけるのがとても難しくなります。これは関数も同様で、中のコードが長くなればメンテナンス性は落ちてしまいます。

このページでは新たにturnAround()という、いわば「反対側を向く」という関数が新たに定義されています。これを次の関数である solveStair()に組み込むことでコードの視認性を高めようというのが、このエクササイズの真の目的です。あとはどの部分までを共通化できるかどうか、少しずつsolveStair()に組み込みながら試行錯誤していけば、比較的簡単にクリアにまでたどり着けるはずです。

ポイントは階段の昇降、ジェム、そして方向転換。これらをどこまで共通できるかがクリアのカギです。

Swift Playgroundsを楽しむためのワンポイントアドバイス

Byte以外のキャラクターを使う

スウィフト・プレイグラウンズのラーン・トゥ・コードの主役ともいえるのが、ゲームキャラクターのバイト。1つ目の特徴的なフォルムと、ユーモア溢れるアクションが魅力的な愛くるしいキャラクターです。しかし、バイト以外のキャラクターがいること、そして、そのバイト以外のキャラクターを操作することができるのをご存じでしょうか?

方法は簡単です。ステージ画面のライブビューで、バイト(もしくはほかのキャラクター)をタップしてみてください。すると、バイトを含め計3体のキャラクターの中から、好みのキャラクターを選ぶことができる画面が表示されるはずです。そこで任意のキャラクターを選ぶと、今後のステージはそのキャラクターを操ることができるのです。ゲーム中に自由に変更できるので、ステージによって変えるのもよし、もしくは、バイト一筋で全ステージを一緒にクリアできるように頑張るもよし。好みのキャラクターとタッグを組みましょう。

ライブビューにおいて、バイトをタップすると、キャラクター変更画面に飛びます。あなたの好みのキャラクターをチョイスしましょう!

おわりに

ここで紹介したのは、スウィフト・プレイグラウンズのほんの数ステージです。まだまだたくさんステージがありますし、今後はさらに難しくなっていくことでしょう。しかも、ラーン・トゥ・コードには「2」も存在しているので、まだ攻略の余地は存分にあります。ぜひいろいろと試して、楽しくプログラミングを学びましょう!