サンプル・コードの改良・発展

「iPhone SDKの教科書」には各サンプル・コードの章末に改良・発展を提案していますが、これがどの程度の作業で実現できるかは分かりにくいかもしれません。なので、各項目の難易度を書いておきます。プログラミング初心者はレベル【A】から取り組むと良いと思います。また、カウンターについては改良・発展案を書いていなかったので、これも補っておきますね。

【A】非プログラミング・レベル〜画像やサウンドの差し替え、レイアウト変更など。
【B】簡易プログラミング・レベル〜ソースコードの変更・追加が必要。
【C】高度プログラミング・レベル〜ソースコードの大幅な変更・追加が必要。

カウンター

【A】ボタン画像や背景画像を差し替えて、異なる雰囲気のカウンターを作ろう。
【B】ボタンをタップした時に音を鳴らし、動作が分かるようにしよう。
【B】10個および100個数える度に音を鳴らし、数えている状況が分かるようにしよう。
【B】複数のカウンターを表示し、異なる数を同時に数えられるようにしよう。
【B】カウンターの数値を記憶し、アプリケーションを再起動した場合にも、前回の数値から数を数えられるようにしよう。

スマッシュ

【A】背景画像とUFOの画像を差し替えて、異なる雰囲気のゲームに仕立てよう。それに合わせて効果音も差し替えよう。
【B】UFOを叩き潰した回数を数えてスコアを表示する機能を追加しよう。UFOを逃した場合は減点することも考えられる。
【B】1分間や3分間などゲームの時間制限を設けてみよう。スコア機能と合わせて、制限時間内の得点を競うことができる。
【C】得点を競うなら、ハイスコアも表示したい。ハイスコアを打ち立てたプレーヤの名前もあれば完璧だ。
【C】UFOが1機だけでなく、2機、3機と出現するようにしてみよう。ボーナス点が稼げる特別なUFOや、叩き潰してはいけない味方の宇宙船も考えられる。

バランス

【A】画像や効果音を差し替えて、まるで違う雰囲気で異なる用途に使えないだろうか?
【B】現在のボールの重みはどれくらいだろうか? もっと軽いボールや、もっと重いボールにしてみよう。
【B】ボールと盤面や空気との摩擦抵抗をプログラム・コードに盛り込んでみよう。
【C】目を閉じていてもボールの動きを感じられるようにできないだろうか?
【C】Z軸の加速度を利用して、ボールを3次元的に動かしてみよう。一人で羽根つきができるかもしれない。

クロック

【A】背景画像や針の画像を入れ替えて、オリジナル・デザインの時計を作ろう。
【B】24時間制の時計や鏡像のように逆回転する時計を作ろう。
【B】1秒ごとに秒針が小刻みに動くのではなく、連続的にスムースに動くようにしよう。
【B】アラームが鳴っている時に、盤面が点滅するなど視覚的な効果を加えよう。
【C】アラームを12時直前に設定した場合、アラーム動作に不都合が生じる場合がある。この原因と解決策を考えよう。

エイジ

【B】年齢を時間単位、分単位、秒単位でも表示してみよう。
【C】任意の日における年齢が表示できるようにしよう。
【C】起点となる日付と日数を設定すると、終了日となる日付を表示できるにしよう。
【B】グレゴリオ歴以外の暦のカレンダーを表示してみよう。
【C】時分秒単位の時間計算機を作ってみよう。

パイル

【B】パイルを多言語対応させ、日本語でも表示されるようにしよう。
【B】合成時のブレンド・モードやアルファ値を選択できるようにしよう。
【B】最初に読み込んだ写真に合わせて、合成画像のサイズが設定されるようにしよう。
【B】撮影時や選択時に写真の一部を抜き出せるようにしよう。これはイメージ・ピッカーのプロパティで設定可能だ。
【B】写真の縦横比が4:3でなくても、正しい比率で写真を合成できるようにしよう。

1 thought on “サンプル・コードの改良・発展

  1. ピンバック: akalogue » 辻褄時計、リリース

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This blog is kept spam free by WP-SpamFree.