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

「プログラミングのススメ」と学習した結果身につくもの、アイディアを実現するために何をしたら良いか?の答えが出せるようになります。

UML Design(設計)6 〜UMLの書き方 クラス図を書く〜

イントロダクション

前回は、ユースケース図の記述方法について記載しました。

線でどのような関係があるのかを明示するので、わかりやすいと思います。

参考にしたサイトはこちらです。こちらのサイトも参考にしました。「クラスにおけるUMLとマッピング」というタイトルでした。

クラス図の書き方

クラス図は以下のように記述します。

f:id:Takunoji:20190812200653p:plain

クラス図

詳細な部分は線の意味と属性(attribute)の意味を理解すれば良いのですが、如何せんプログラムの書き方が分かれば、クラス間の関係がわかれば難しいことはありません。

真に難しいのは「想定通りに作る」ということです。イレギュラーなどたくさんの障害がありますが、それらを全てなぎ倒し前進する必要があります。

このように記載するとゲームみたいですね(笑)

## 細かい補足

上のクラス図のクラス名の下にある「+」「-」「#」のマークはフィールド変数の公開レベルを意味します。つまり下のようになっています。

  • 「+」 =  public:クラスの外部からアクセスできる
  • 「-」  =  private:クラスの内部からしかアクセスできない
  • 「#」 =  protected:継承関係のあるクラス間でアクセスできる

具体的には、以下のようになります。

    public static void main(String[] args) {

        A a = new A();

        a.pubMethod();

        a.protectedMethod(); // ビルドエラー

        a.privateMesthod();  // ビルドエラー

    }

    

    public class A {

       public void pubMethod() {

          System.out.println("publicMethod()");

       }

       

       protected void protectedMethod() {

          System.out.println("publicMethod()");

       }

       

       private void privateMesthod() {

          System.out.println("publicMethod()");

       }

    }


そして、このような形で図を作成すれば、クラス群をどのように作っていけば良いかが見渡すことが容易にできるというわけです。

 

目下の目的

テキストRPG(ミニスケール)を作成することです。

ちなみに、作成する間に「わからない」がたくさん出てきますので、これらの「わからない」を退治できるようにレベルアップしていきましょう!

 

 処理内容の確認

アプリケーションを起動して、タイトルを表示する。

ここまでは決まっていますがそのあとが決まっていません。

色々と考えたのですが、昔からある「RPG」に習うのが一番手っ取り早いと思いました。キャラ設定やストーリーなど色々とパクらせて貰おうという腹づもりです。

 

RPGに関してこちらを参考にしました。

 テキストRPGを作るにあたり

以前から、テキストRPGを作成したいと思っていたのですが、ストーリーやら、ゲームシステムやら。。。わからないことが多すぎて手付かずでした。

しかし、世の中には「TRPG」や「ボードゲーム」などアナログゲームが流行っているではありませんか。。。

流行を追いかけるのは好きじゃないのですが、それとこれとは話が別なので調べてみると基礎になっているのはテレビゲームの「RPG」ではなくロールプレイングゲーム(RPG)だというところにたどり着きました。

ここら辺を学習し、Javaプログラミング学習に役立てたいと思う次第であります。

 

Java ミドル ベーシックと称して下の様な記事も記載しています。

PGボックス〜ゲームとプロジェクトとプログラミング基礎〜

は、コンソール入力〜出力をするアプリで、コマンドを入力〜実行で処理内容を確かめながら学習していきます。このアプリ作成は、最終的にテキストRPGにできたら良いと思っています。できるかはわかりませんが、努力します。

でわでわ。。。