>>{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の値に応じた関数を呼び出す
<<{draw.png} <<2. 夜行動>> <<2.1. nighthome.js : 大久保>>> * 可視 ** スマホをフレームインさせる ** スマホのフレームを描画する ** 各種アプリを描画する ** 経過日数・曜日を描画する ** 注意書きを描画する * 不可視 ** マウスのクリックを得る ** 行き先が入力されたかを判断する ** 変数"曜日"の値を適切な曜日に変える ** 変数gameModeの値を"schedule"に変える ** 変数gameModeの値を"cafeHP"に変える ** 変数gameModeの値を"sleep"に変える ** 変数gameModeの値を"note"に変える ** 変数gameModeの値を"plan"に変える ** 変数gameModeの値を"save"に変える ** 変数gameModeの値を"SNS"に変える ** 変数gameModeの値を"title"に変える
<<{nighthome.png} <<<2.2. schedule : LU, 佐々木>>> * 可視 ** マップとピンを描画する ** 場所名の吹き出しを描画する * 不可視 ** マウスの位置を得る ** マウスのクリックを得る ** 変数"行き先"の値を書き換える ** 変数gameModeの値を"nighthome"に変える
<<{schedule.png} <<<2.3. cafeHP.js : 高橋, 大久保>>> * 可視 ** ホームページの画像を描画する ** ホームページの画像を切り替える * 不可視 ** マウスのクリックを得る ** 変数gameModeの値を"nghthome"に変える <<<2.4. sleep.js : 佐々木>>> * 可視 ** 行き先に応じたセリフを描画する * 不可視 ** 変数"経過日数"の値を1増やす ** 変数"経過日数"からゲームオーバーかを判断する ** 変数"行き先"から適切なgameModeを判断する ** 変数gameModeの値をいずれかに変える : *** カフェ *** 公園 *** 大学 *** ストライプ大学 *** 空港 *** 警察署
<<{sleep.png} <<<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"に変える
<<{SNS.png} <<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
<<{park.png} <<<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'に変える
<<{title.png} <<<7.2. ending.js : 佐々木>>> * 可視 ** クリックに応じて, キャラクターを描画する ** クリックに応じて, セリフを描画する ** 変数"エンディング番号"に応じたエンディングを再生する * 不可視 ** マウスのクリックを得る ** 変数gameModeの値を'title'に変える <<<7.3. opening.js : 佐々木>>> * 可視 ** クリックに応じて, 導入のセリフ・画像を描画する * 不可視 ** マウスのクリックを得る ** 変数gameModeの値を'plan'に変える <<<7.4. serif.js : 高橋, 佐々木>>> * 可視 ** セリフ枠とセリフを表示する
<<{serif.png} <<<7.5. choise.js : 佐々木>>> * 可視 ** 選択肢を表示する * 不可視 ** 変数"選ばれた選択肢"の値を書き換える