ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EMC妹式会社(仮)コミュの外部設計と私

  • mixiチェック
  • このエントリーをはてなブックマークに追加
そろそろやらねば。
まず外部設計の外部設計。
大まかな基本的な構成だけを思いつくままつらつらと。

まず画面遷移。
?スタート画面(push to startのとこ)
?麻雀メイン画面(麻雀するとこ)
?和了画面(和了の役と点数表示するとこ)
?順位表示画面(ゲーム終了後の順位、点数表示)


上の画面に関連づけて機能分割をしてみる。
下の階層の場合「−」で表示。



?スタート画面

ゲーム開始キック処理(メイン画面&「場」制御モジュール呼び出し)


?麻雀メイン画面

「場」制御モジュール
−積場判定モジュール
−風設定モジュール
−ゲームメイン制御モジュール
−−理牌&配牌設定モジュール
−−ツモ&捨て牌制御モジュール
−−−聴牌&待ち牌判定モジュール
−−−鳴き牌制御モジュール
−−−リーチ制御モジュール
−−和了制御モジュール
−−−聴牌&待ち牌判定モジュール
−−−役判定モジュール(詳細は省略)
−−流局制御モジュール
−−−聴牌&待ち牌判定モジュール
−和了画面キック処理
順位表示画面呼び出し


?和了画面
和了or流局判定モジュール
−和了点数移動モジュール
−−符計算モジュール(詳細は省略)
−−点数計算モジュール
−流局点数移動モジュール
麻雀メイン画面&「場」制御モジュール呼び出し


?順位表示画面

順位ソート&順位表示モジュール
スタート画面呼び出し





以上の処理で一応矛盾はしてないはず。
絶対に穴はあるけどな。
ユーザーインターフェイス(つーか操作)については今勉強中なんでまるで考慮してません。誰か考えて。
それとモジュール間インターフェースも全然詰めてません。
全体的にCOBOL仕様であることは否めないので、Java仕様への改変をお願いします。主にF#さん。

コメント(3)

オーケーオーケー。ターン。
つーかさ、今まさに仕事で要件定義と外部設計やってんだけど。
オイラの仕事は外部設計×1と内部設計×2だね、今。

当面、他家の思考ルーチンは固定で。もっとも単純な(ツモって切るだけ)というもので疎通テストまではもっていきたい。
その後、他家の思考ルーチンを強化したいところ。

複数の思考ルーチンが出来たら、?スタート画面と?ゲームメインの間にプレイヤーセレクトの画面を作らないとな。

あと、?和了画面と?順位画面は多分同じでもいけると思うけど、一応分けてみました。

11月中に外部設計の目処は立って欲しいところ。
麻雀牌の表示、手牌の表示など牌の表示や計算なんかは元から配列で処理しようと思ってたけど、ArrayListってクラスがあるのね。
うーん、単純に配列でもいけると思うけど、要素の削除や追加やソートなんかで元データ退避の為にコピーは必須だろうから、このクラスを使ってもいいかもな。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EMC妹式会社(仮) 更新情報

EMC妹式会社(仮)のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング