Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

UML Design(設計)8 〜AP設計 クラス図の準備〜

今回は、クラス図の作成に向けて、必要な仕様を決めていこうと思います。 前回は、アクティビティ図でゲームの処理フローを作成しました。概要のみなので詳細がありません。 f:id:Takunoji:20190910212523p:plain

クラス図は詳細設計

クラス図を書くために明確にする事は以下のようになります。

早い話が

  1. どんな処理をするか?
  2. どんなクラス構成で実現するか?

これらを明確にすればクラス図が書けます。 今回の場合は、タイトル表示〜new game〜キャラ作成〜ゲーム開始の処理フローに着目して考えてみようと思います。

クラス図を作る

アーキテクチャ

まずは、アプリケーションの骨組み(アーキテクチャ)部分を決定する必要があります。これは、ゲームループ付きの学習用アプリのロジックを使用しようと思います。 処理フローとしては以下のようになります。

  1. 入力待ちを行う
  2. 入力された文字からコマンドクラス取得
  3. 入力されたコマンドに対する処理を実行

アクティビティ図で描くと下のようになります。

<アクティビティ図> f:id:Takunoji:20190911205449p:plain

処理一覧

  1. 処理(ゲーム)開始時にタイトル表示
  2. タイトル画面でA.new game, B.continueを選択
  3. A.を選択した場合は、キャラ作成を行う。現状continueは保留
  4. キャラ作成は、名前(ローマ字)と生年月日を入力→「キャラ作成」処理参照
  5. ダンジョン表示(テキスト表現)
  6. ダンジョン内のコマンド実行
  7. 終了処理

とりあえずは、こんな感じで処理を行います。

役割分担をする

前提として、オブジェクト指向で作成しますので、クラス毎に役割分担をしてやります。

<処理一覧から>

  1. メイン処理(アーキテクチャ部分)
  2. タイトル表示
  3. キャラ作成
  4. ダンジョン表示
  5. その他ユーティリティ(便利処理)

クラス一覧

  • TextRPGクラス=アーキテクチャ部分の処理(メインメソッド)
  • Titleクラス=タイトル表示
  • CharactorCreatorクラス=キャラ作成
  • Dungeonクラス=ダンジョンの文章描画
  • Utilクラス=その他ユーティリティ
  • コマンドクラス=実行するコマンドのクラス

。。。のようになりました。

まとめ

クラス図の作成準備として以下の疑問点を明確にしました。

  1. どのようなアーキテクチャ(全体の処理フローの仕組み)で実装するか?
  2. 必要なクラスは何か?

そして、各疑問に対する答えは以下のようになります。

  1. JavaMidBasicで使用しているゲームループ処理
  2. 必要なクラス
    A. TextRPGクラス
    B. Titleクラス
    C. CharactorCreatorクラス
    D. Dungeonクラス
    E. Utilクラス
    F. Commadクラス: コマンドの数だけ作る

こんな感じで必要な情報が揃ったので、次回はUML(クラス図)の作成に入っていこうと思います。

でわでわ。。。