教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
今回のパートでは、作成するアプリケーションの全体像を把握します。
アプリケーションを作成する際は コードを書く前に設計 をすることをオススメします。
設計を予めしておくことで、コードを書いている途中で手戻りやコードを大きく変更する必要をある程度なくすことが出来ます。
実際、業務では開発する前に設計書を書きます。要件定義書からテスト仕様書まで多岐にわたる設計書が必要になります。これらはチーム開発のみならず、個人の開発でも必要だと思います。
ですが、設計にはスキルや慣れが必要です。
本教材は初学者を対象としているので、完璧な設計は難しいと思います。そのため、作りながら設計を修正していく形にします。
各章で設計が変わるのでそこにも注目してみてください。
では、今回は以下の手順で設計をしていきましょう。※あくまで簡略なドキュメントです。
また、視覚的にわかりやすくするために今回は UML
を使用します。
UML とは・・・ソフトウェアの機能や構造を 2 次元の図に表現するためのもの。
今回作るファイナルファンタジー風のアプリケーションの要件を定義していきます。
こんなところでしょうか。
処理の流れを表すのはアクティビティ図がわかりやすいです。
お互いのステータス表示の後、攻撃をします。
主人公側が全滅の場合、「Game Over...」と表示され、敵側が全滅の場合は、「ファンファーレ」と表示されます。
「A」となっている箇所はつながっています。つまりどちらも全滅でない場合は繰り返されます。
アプリケーションに必要な機能を考えていきましょう。
アクティビティ図から抜き出すとわかりやすいです。
ここで、オブジェクト指向のメインである、クラスが登場します。
クラスは設計書のようなもので、同じ変数や関数を持つ オブジェクト を作るのに使います。
オブジェクト とはここでいう、登場するキャラクター(敵も含む)と同義だと思ってください。
アクティビティ図からも分かる通り、以下の2つのクラスが必要なことがわかります。
実際に次章からクラスの設計をしていきます!
以上で今回のパートは終了です。