>>{24::gr04}{戻る}
<<目次>>
((outline))
:a
::testtest
<<モジュール分けについて>>
<<<ページの概要>>>
各モジュールの役割について整理する。
それぞれが担う"ものと操作"については、
>>{24::gr04::ものと操作}{ものと操作}のページに記載した。
*Reference : <<{ソフトウェア演習_ものと操作の洗い出し-1.pdf}
<<<全体の流れ>>>
プログラム全体の流れは、概ね下記のようになる。
<<{entire.png}
<<ゲームの進行などの管理を担うモジュール群>>
<<<ゲームの初期設定>>>
*格納されるグローバル変数(抜粋)
|| gameMode | 場面の遷移先を格納する
|| "行き先" | 選択された行き先を格納する
|| "経過日数" | ゲーム開始から経過した日数を格納する
|| "曜日" | 曜日を格納する
|| "対象から主人公への好感度" | ---
|| "対象から主人公への不信感" | ---
|| "対象からライバル1への好感度" | "対象とライバル1に会う"の発生回数に準ずる
|| "対象からライバル2への好感度" | "対象とライバル2に会う"の発生回数に準ずる
|| "対象からライバル3への好感度" | "対象とライバル3に会う"の発生回数に準ずる
|| "ライバル1から主人公への不信感" | ---
|| "ライバル2から主人公への不信感" | ---
|| "ライバル3から主人公への不信感" | ---
*役割(不可視)
**各種グローバル変数の初期化
*実装はsetup.js
<<<画像のプレロード>>>
*役割(不可視)
**各種画像をロードする
*実装はload.js
<<<ゲームの進行管理>>>
*役割(不可視)
**変数gameModeの値に応じた関数を呼び出す
*実装はglobal.js
<<夜行動・昼行動以外のモジュール群>>
<<<タイトル画面>>>
*役割(可視)
**タイトル画面を描画する
**オープニングを再生する
*役割(不可視)
**マウスのクリックを得る
**変数gameModeの値を"ホーム"に変える
*実装はtitle.js
<<<エンディング>>>
*操作(可視)
**変数"エンディング番号"に応じたエンディングを再生する
*操作(不可視)
**変数gameModeの値を"タイトル画面"に変える
*実装はending.js
<<頻繁に参照されうるモジュール群>>
<<<セリフ枠>>>
*役割(可視)
**セリフ枠とセリフを表示する
*実装はserif.js
<<<選択肢>>>
*役割(可視)
**選択肢を表示する
*役割(不可視)
**変数"選ばれた選択肢"の値を書き換える
*実装はchoise.js
<<夜行動に関わるモジュール群>>
<<<ホーム>>>
*役割(可視)
**スマホをフレームインさせる
**各種アプリのアイコンを描画する
**経過日数・曜日テキストを描画する
**「行き先を選んでね」テキストを描画する
*役割(不可視)
**マウスのクリックを得る
**行き先が入力されたかを判断する
**変数"曜日"の値を適切な曜日に変える
**変数gameModeの値を"スケジュール"に変える
**変数gameModeの値を"カフェホームページ"に変える
**変数gameModeの値を"すいみん"に変える
*実装はnighthome.js
<<<スケジュール>>>
*役割(可視)
**マップとピンを描画する
**場所名の吹き出しを描画する
*役割(不可視)
**ピンとマウスカーソルが重なったかを判断する
**マウスのクリックを得る
**変数「行き先」の値を書き換える
**変数gameModeの値を"ホーム"に変える
*実装はschedule.js
<<<カフェホームページ>>>
*役割(可視)
**ホームページの画像を描画する/切り替える
*役割(不可視)
**マウスのクリックを得る
**変数gameModeの値を"ホーム"に変える
*実装はcafeHP.js
<<<すいみん>>>
*操作(可視)
**スマホをフレームアウトさせる
*操作(不可視)
**変数"経過日数"の値を1増やす
**変数"経過日数"からゲームオーバー是非を判断する
**変数"行き先"から適切なgameModeを判断する
**変数gameModeの値を"カフェ"に変える
**変数gameModeの値を"公園"に変える
**変数gameModeの値を"大学"に変える
**変数gameModeの値を"卒業エンド"に変える
*実装はsleep.js
<<カフェ(昼行動)に関わるモジュール群>>
<<<カフェ>>>
*役割(可視)
**キャラクターを描画する
**セリフを描画する
*役割(不可視)
**変数"曜日"から適切な遷移先を判断する
**変数gameModeの値を"カフェ-対象のみ"に変える
**変数gameModeの値を"カフェ-対象とライバル"に変える
**変数gameModeの値を"カフェ-誰もいない"に変える
*実装はcafe.js
<<<カフェ-対象のみ>>>
*役割(可視)
**キャラクターを描画する
**セリフを描画する
**選択肢を描画する
*役割(不可視)
**変数"対象から主人公への好感度"を書き換える
**変数"対象から主人公への不信感"を書き換える
**変数gameModeの値を"ホーム"に変える
*実装はc_good.js
<<<カフェ-対象とライバル>>>
*役割(可視)
**キャラクターを描画する
**セリフを描画する
**選択肢を描画する
*役割(不可視)
**変数"対象からライバル1への好感度"を書き換える
**変数"ライバル1から主人公への不信感"を書き換える
**変数gameModeの値を"ホーム"に変える
*実装はc_bad.js
<<<カフェ-誰もいない>>>
*役割(可視)
**セリフを描画する
*役割(不可視)
**変数gameModeの値を"ホーム"に変える
*実装はc_nothing.js
<<公園(昼行動)に関わるモジュール群>>
<<<公園>>>
*"カフェ"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
*実装はpark.js
<<<公園-対象のみ>>>
*"カフェ-対象のみ"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
*実装はp_good.js
<<<公園-対象とライバル>>>
*"カフェ-対象とライバル"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
*実装はp_bad.js
<<<公園-誰もいない>>>
*"カフェ-誰もいない"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
*実装はp_nothing.js
<<大学(昼行動)に関わるモジュール群>>
<<<大学>>>
*"カフェ"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
*実装はuniversity.js
<<<大学-対象のみ>>>
*"カフェ-対象のみ"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
*実装はu_good.js
<<<大学-対象とライバル>>>
*"カフェ-対象とライバル"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
*実装はu_bad.js
<<<大学-誰もいない>>>
*"カフェ-誰もいない"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
*実装はu_nothing.js