2020 ソフトウェア設計及び演習用の班Wiki

19::gr07::モジュール化

モジュール化

初めはものと操作の洗い出しをもとに各モジュールを関数単位で振り分け。
ただし、JS初心者が多かったため、モジュールがどのような単位で分ければいいのかがよくわかっていなかった
→モジュール化は大まかに分けてゲームモジュールとシステムUIモジュールの2つに変更(中間発表終了後より)

ゲームモジュール

譜面作成に関するモジュール

担当:田中 譜面を読み込むためのjsファイルと譜面(csv)を作成。 jsファイルとしては、csvファイルの情報を二次元配列変換するgetcsv.js、譜面をレーン(列)ごとに読み込んでいくhumenload.jsの2つのファイルの作成。レーンごとにそれぞれ関数(s0、d1、f2、space3、j4、k5、l6)を宣言し、二次元配列を関数の中に入れ、ノーツ動作のモジュール担当に値を渡す。

ノーツ動作に関するモジュール

担当:高谷

ノーツの当たり判定に関するモジュール

担当:菅原
各ノーツとの距離とそのレーンの番号を引数として受け取り、キーを入力した際、対応するノーツとの距離に応じてperfect、good、missの判定を行う。

スコア計算モジュール

担当:菅原
コンボ数、と上記判定に基づきスコア計算を行う。

スコア保存モジュール

担当:賀
ゲーム画面のスコアとコンボ数の保存

システムUIモジュール

システムUI統括モジュール

担当:平井

  • htmlとして保存
  • 音楽再生モジュール・画像表示モジュール・キー入力感知モジュールの3つのモジュールを統括する

音楽再生モジュール

担当:只野

  • jsファイルとして保存
  • 音楽再生、SE再生モジュール
    • 場面や動作に合わせて曲やSEを再生する。
    • ループ再生(BGM)
    • HTMLファイル、bodyに記述。 <audio src = "./music/Notes.mp3" autoplay loop></audio>
    • それ以外の音楽、SEの再生
      • musicplaytest.js、SEplaytest.js としてまとめた。テスト用のHTML上では再生できるが、他に組み込むと音が出ない。

画像表示モジュール

担当:平井

  • ボタンや背景などの画像の表示を行う
  • jsファイルとして保存
  • enchant.jsを使用
  • キー入力感知モジュールから渡された引数によって適切なボタンや背景を表示
    • 何故か読み込みが遅くなって表示にラグが生じているため今後軽量化が必要 原因判明しました

キー入力感知モジュール

担当:平井

  • キーが入力されると入力されたキーに応じて値を各モジュールに渡す
  • jsで保存
  • プレイ以外の場面で常に待機状態
    • 何故か↑キーと↓キーが読み取られない

オプションモジュール

担当:賀

  • 全体的保存用のCookie機能を作り出した
  • 中国語翻訳
  • Result画面の作成


データ保存モジュール

担当:賀

  • jsファイルとして保存
  • 曲ごとにスコアとコンボ数を表示させる
  • データ渡し

班wikiトップ


最終更新日:2019/08/02 13:55:15