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

19::gr02::松浦知哉

活動記録

第二回

音ゲーの大まかな方向性が決まった

第三回

得点やノーツなどの大まかな仕様が決まった。環境はjavascriptになりそう。タイトル画面、背景、ノーツなどのイラスト、タイトル、仕様を考えることになった。タイトルが単位の達人かジェミニでもめた。個人的には単位の達人が良いと思った。太鼓の達人を参考にしたいが、やったことないので、プレイしておきたい。

第四回

曲選択画面、オプション画面、タイトル画面、結果画面などがだいたい決まり、ものと操作を洗い出したが、洗い出しきれていない気がする。フローチャートとタイトルを各自で考えることになった。曲選択画面の曲選択時のスクロールを提案した。

第五回

スタート画面、スコア画面、ノーツの位置情報、オプション画面。ものと操作のクリア画面の項目を作成。クリア画面のフローチャートと変数と関数の分類をした。

第六回

キー入力系、記憶&計算系の担当となった。キーを押した時の判定を記述した。しかし長おしの判定がわからないので、次回までに解決したい。

第七回

記憶計算モジュールの変数を宣言した。他のモジュールと連携しなければならない部分が多いので、他のモジュールが落ち着いてから作業したい。

  • 使用する変数(暫定)
    • intkey(キーが押された時キー番号を格納)
    • intkeyup(キーが離された時)
    • score
    • greatnumber
    • goodnumber
    • nicenumber
    • missnumber
    • combo
    • combomax
    • clearjudge
    • fullcombo

第八回

記憶計算を進めた。中間発表までにキーボード押してタイトルから遷移くらいのことはしたい。

  • キー入力 サンプルにどうぞ intkeyは変数なので無視して良い

enchant();

document.onkeydown = function (e){

if(!e) e = window.event; // レガシー

var intkey = 0;

if(e.keyCode == 13){

intkey = 13;

console.log("エンターキーが押された");

}

if(e.keyCode == 38){

intkey = 38;

console.log("上");

}

if(e.keyCode == 40){

intkey = 40;

console.log("下");

}

if(e.keyCode == 37){

intkey = 37;

console.log("左");

}

if(e.keyCode == 39){

intkey = 39;

console.log("右");

}

if(e.keyCode == 70){

intkey = 70;

console.log("エフ");

}

if(e.keyCode == 68){

intkey = 68;

console.log("ディー");

}

if(e.keyCode == 74){

intkey = 74;

console.log("ジェー");

}

if(e.keyCode == 75){

intkey = 75;

console.log("ケー");

}

};

document.onkeyup = function (e){

if(!e) e = window.event; // レガシー

var intkeyup = 0;

if(e.keyCode == 13){

intkeyup = 13;

console.log("エンターキーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 37){

intkeyup = 37;

console.log("左キーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 38){

intkeyup = 38;

console.log("上キーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 39){

intkeyup = 39;

console.log("右キーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 40){

intkeyup = 40;

console.log("下キーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 70){

intkeyup = 70;

console.log("fキーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 68){

intkeyup = 68;

console.log("dキーが離された");

}

if(!e) e = window.event; // レガシー

if(e.keyCode == 74){

intkeyup = 74;

console.log("jキーが離された"); }

if(!e) e = window.event; // レガシー

if(e.keyCode == 75){

intkeyup = 75;

console.log("kキーが離された"); }

};

第九回

記憶計算モジュールとクリア画面モジュールの担当になった。キー操作プログラムは自分のgitlabのmain.jsにあるのでサンプルにどうぞ。自分たちの班では形になったものを発表できなかったが、他の班は部分的にでも、形のあるものを作っていたので、やはり差を感じた。なんとか完成させたい。

第十回

記憶計算モジュールとクリア画面モジュールを進めたが、わからない部分が多い。文字の画面の表示の仕方など。

第十一回

記憶計算モジュールで、キーボード入力から擬似的に判定処理を試みたが、2つの関数間での変数の渡し方がわからず、できなかった。クリア画面の文字入力はlabelを使えば良さそうだが、画像の上から文字を打つ方法がわからない。

第十二回

labelを使用して、クリア画面にスコアや各判定の数、コンボ数などを出力した。しかし、labelだとださいということで、画像に変わりそうな雰囲気になった。記憶計算モジュールでは、キーボードを用いたテストを行い正しく動作した。

第十三回

大雑把に一曲分の楽譜を制作したので、それを持参した。表示モジュールでノーツの動きを確認した。ノーツがたまに止まる、長おしノーツの間の間隔が空く、などの問題が発生した、曲よりもノーツの流れが早かったが、おそらくノーツの数が足りていないので、そこを調整しなければならない。クリア画面の文字は画像で作ることになった。画像の位置に熊を配置しておいた。

第十四回

曲の表示のチェックをおこなった。それをもとにプログラムが修正された。計算はゲーム画面モジュールでおこなうことになりそうだ。発表のページを中間発表のページを参考に作成した。操作方法などを書いた。まだ未完成の部分があるので、あとで修正したい。自分で作った譜面を少し修正した。

第十五回

クリア画面のシーン createClearScene

曲選択画面のシーン createSelectScene

主にクリア画面を作成した。ゲーム画面からクリア画面へのシーン遷移、クリア画面から選曲画面へのシーン遷移の設定をした。また、ゲーム画面から受け取った各判定の数をもとにクリア画面でスコアやノルマクリアかどうかの算出をするようにした。クリア画面の文字が見づらい、レイアウトを良くしてほしい、という意見があったので、背景に薄い水色を被せることで見やすくした。クリア画面でbgmを流すようにした。また、一曲分の譜面を三種類の難易度で作成した。班の活動記録のページを少し記述した。ゲーム画面からクリア画面へのシーン遷移の際には、画像の読み取りに苦労したが、最終的には遷移させることができた。ゲームがスタートして、選曲をして、ゲームをプレイして、クリア画面に行き、選曲画面に戻る、という一連の動作がなんとかできたので良かった。

第十六回

なんとかゲームとして形になっているものを見せれたので良かった。各画面の説明などを手短にして、もう少し早くゲームプレイを見せれたらよかったと思った。完成度の高い班が多かったので、レベルが高いと思った。ただ、自分たちの班の音ゲー部分の完成度は他の班に負けていないと思った。

各モジュールの働き

記憶計算モジュール

  • 記憶 スコア、各判定の数、現在のコンボ数、最大コンボ数を記憶して、ゲーム画面モジュールやクリア画面モジュールに渡す。
  • 計算 greatの時に100点、goodで75点、goodで50点をスコアに加算する。(各判定の数の合計)×100×0.8<(スコア)の時、ノルマクリアの判定をする。missが0の時、フルコンボの判定をする。それらをクリア画面モジュールに渡す。

クリア画面モジュール

クリア画面を表示し、スコア、各判定の数、最大コンボ数、曲名、難易度、クリアか失敗か、フルコンボ、を表示する。エンターキーで曲選択画面に遷移する。

クリア画面イメージ

スクリーンショット_2019-07-12_15-58-37.png

実際のクリア画面

hyouji4_25.png


最終更新日:2019/08/02 15:19:20