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を流すようにした。また、一曲分の譜面を三種類の難易度で作成した。班の活動記録のページを少し記述した。ゲーム画面からクリア画面へのシーン遷移の際には、画像の読み取りに苦労したが、最終的には遷移させることができた。ゲームがスタートして、選曲をして、ゲームをプレイして、クリア画面に行き、選曲画面に戻る、という一連の動作がなんとかできたので良かった。
第十六回
なんとかゲームとして形になっているものを見せれたので良かった。各画面の説明などを手短にして、もう少し早くゲームプレイを見せれたらよかったと思った。完成度の高い班が多かったので、レベルが高いと思った。ただ、自分たちの班の音ゲー部分の完成度は他の班に負けていないと思った。
最終更新日:2019/08/02 15:19:20