>>{24::gr04}{戻る}
<<目次>>
((outline))
<<0. このページについて>>
<<<0.1. ページの概要>>>
各モジュールの役割について整理する。
それぞれが担う"ものと操作"については
>>{24::gr04::ものと操作}{ものと操作} のページに記載した。
<<<0.2. 全体の流れ>>>
プログラム全体の流れは、概ね下記のようになる。
<<{entire.png}
<<1. ゲームの管理・進行>>
<<<1.1. htmlファイル : 佐々木>>>
*ライブラリの読み込み
*各スクリプトの読み込み
<<<1.2. setup.js : 佐々木, 大久保>>>
* セーブに係るグローバル変数
|| gameMode | 場面の遷移先を格納する
|| "行き先" | 選択された行き先を格納する
|| "経過日数" | ゲーム開始から経過した日数を格納する
|| "曜日" | 曜日を格納する
|| "対象から主人公への好感度" | ---
|| "対象から主人公への不信感" | ---
|| "対象からライバル1への好感度" | "対象とライバル1に会う"の発生回数に準ずる
|| "対象からライバル2への好感度" | "対象とライバル2に会う"の発生回数に準ずる
|| "対象からライバル3への好感度" | "対象とライバル3に会う"の発生回数に準ずる
|| "ライバル1から主人公への不信感" | ---
|| "ライバル2から主人公への不信感" | ---
|| "ライバル3から主人公への不信感" | ---
* 役割(不可視)
** グローバル変数の初期化
** スプライトの作成
<<<1.3. load.js : 佐々木, 大久保>>>
* 役割(不可視)
** 画像のプレロード
<<<1.4. global.js(進行管理) : 佐々木, 大久保>>>
* 役割(不可視)
** マウスを描画
** 変数gameModeの値に応じた関数を呼び出す
<<2. 夜行動>>
<<2.1. nighthome.js : 大久保>>>
* 役割(可視)
** スマホをフレームインさせる
** スマホのフレームを描画する
** 各種アプリを描画する
** 経過日数・曜日を描画する
** 注意書きを描画する
* 役割(不可視)
** マウスのクリックを得る
** 行き先が入力されたかを判断する
** 変数"曜日"の値を適切な曜日に変える
** 変数gameModeの値を"schedule"に変える
** 変数gameModeの値を"cafeHP"に変える
** 変数gameModeの値を"sleep"に変える
** 変数gameModeの値を"note"に変える
** 変数gameModeの値を"plan"に変える
** 変数gameModeの値を"save"に変える
** 変数gameModeの値を"SNS"に変える
** 変数gameModeの値を"title"に変える
<<<2.2. schedule : LU, 佐々木>>>
* 役割(可視)
** マップとピンを描画する
** 場所名の吹き出しを描画する
* 役割(不可視)
** マウスの位置を得る
** マウスのクリックを得る
** 変数"行き先"の値を書き換える
** 変数gameModeの値を"nighthome"に変える
<<<2.3. cafeHP.js : 高橋, 大久保>>>
* 役割(可視)
** ホームページの画像を描画する
** ホームページの画像を切り替える
* 役割(不可視)
** マウスのクリックを得る
** 変数gameModeの値を"nghthome"に変える
<<<2.4. sleep.js : 佐々木>>>
* 役割(可視)
** 行き先に応じたセリフを描画する
* 役割(不可視)
** 変数"経過日数"の値を1増やす
** 変数"経過日数"からゲームオーバーかを判断する
** 変数"行き先"から適切なgameModeを判断する
** 変数gameModeの値をいずれかに変える :
*** カフェ
*** 公園
*** 大学
*** ストライプ大学
*** 空港
*** 警察署
<<<2.5. note.js : 佐々木>>>
* 役割(可視)
** 好感度やライバルとあった回数に応じた画像を描画
** クリックに応じて, 画像を切り替える
* 役割(不可視)
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<<2.6. plan.js : 佐々木>>>
* 可視
** クリックに応じて, 画像を切り替える
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<<2.7. save.js : 大久保>>>
* 可視
** セーブデータのスロットを描画
** クリックに応じて, セーブする
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<<2.8. SNS.js : LU, 佐々木, 大久保>>>
* 可視
** 日付に応じた画像を描画
** クリックに応じて, 画像を切り替える
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<3. カフェ(昼行動)>>
<<<3.1. cafe.js(カフェ-管理) : 佐々木, 長谷川>>>
* 役割(可視)
** キャラクターを描画する
** セリフを描画する
* 役割(不可視)
** 変数"曜日"から適切な遷移先を判断する
** 規定回数以上連続して"対象のみイベント"にあたった場合, "doubt"を発生させる
** "カフェ-対象のみ"のうち, 好感度や生成された乱数の値に応じたものを発生させる
** "カフェ-対象とライバル"のうち, 好感度や生成された乱数の値に応じたものを発生させる
** "カフェ-誰もいない"のうち, 好感度や生成された乱数の値に応じたものを発生させる
<<<3.2. c_good.js(カフェ-対象のみ) : 佐々木>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
** クリックに応じて, 選択肢を描画する
* 不可視
** マウスのクリックを得る
** 変数"対象から主人公への好感度"を書き換える
** 変数"対象から主人公への不信感"を書き換える
** 変数gameModeの値を"nighthome"に変える
<<<3.3. c_bad.js(カフェ-対象とライバル) : 高橋, 長谷川, 佐々木>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
* 不可視
** マウスのクリックを得る
** 変数"対象からライバル1への好感度"を書き換える
** 変数"ライバル1から主人公への不信感"を書き換える
** 変数gameModeの値を"nighthome"に変える
<<<3.4. c_nothing.js(カフェ-誰もいない) : 高橋, 長谷川>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<4. 公園(昼行動)>>
<<<4.1. park.js(公園-管理) : 佐々木>>>
*"カフェ"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
*実装はpark.js
<<<4.2. p_good.js(公園-対象のみ) : 長谷川, 佐々木>>>
*"カフェ-対象のみ"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
<<<4.3. p_bad.js(公園-対象とライバル) : 伊藤, 佐々木>>>
*"カフェ-対象とライバル"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
*実装はp_bad.js
<<<4.4. p_nothing(公園-誰もいない) : 高橋, 伊藤>>>
*"カフェ-誰もいない"と同様
**ただし、"ライバル1"を"ライバル2"に置き換える
<<5. 大学(昼行動)>>
<<<5.1. university.js(大学-管理) : 佐々木>>>
*"カフェ"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
<<<5.2. u_good.js(大学-対象のみ) : 佐々木>>>
*"カフェ-対象のみ"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
<<<5.3. u_bad.js(大学-対象とライバル) : 渋谷, 佐々木>>>
*"カフェ-対象とライバル"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
<<<5.4. u_nothing.js(大学-誰もいない) : 渋谷, 高橋>>>
*"カフェ-誰もいない"と同様
**ただし、"ライバル1"を"ライバル3"に置き換える
<<6. 上記以外の昼イベント>>
<<<6.1. doubt.js : 佐々木>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
* 不可視
** マウスのクリックを得る
** 対象から主人公への不信感を上げる
** 変数gameModeの値を"nighthome"に変える
<<<6.2. dummy.js : 長谷川>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<<6.3. komaba_main.js(駒場くん管理) : 佐々木>>>
* 不可視
** "駒場くん"とあった回数に応じたイベントを発生させる
** 対象から各ライバルへの好感度に応じたイベントを発生させる
<<<6.4. komaba.js(駒場くんイベント) : 高橋>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を"nighthome"に変える
<<7. その他>>
<<<7.1. title.js : 佐々木, 大久保>>>
* 可視
** タイトル画面を描画する
** オープニングを再生する
* 不可視
** タイトル画面でマウスのクリックを得る
** クリックに応じてセーブデータをロードする
** 変数gameModeの値を'opening'に変える
<<<7.2. ending.js : 佐々木>>>
* 可視
** クリックに応じて, キャラクターを描画する
** クリックに応じて, セリフを描画する
** 変数"エンディング番号"に応じたエンディングを再生する
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を'title'に変える
<<<7.3. opening.js : 佐々木>>>
* 可視
** クリックに応じて, 導入のセリフ・画像を描画する
* 不可視
** マウスのクリックを得る
** 変数gameModeの値を'plan'に変える
<<<7.4. serif.js : 高橋, 佐々木>>>
* 可視
** セリフ枠とセリフを表示する
<<<7.5. choise.js : 佐々木>>>
* 可視
** 選択肢を表示する
* 不可視
** 変数"選ばれた選択肢"の値を書き換える