<<活動記録>> <<第二回>> 音ゲーの大まかな方向性が決まった <<第三回>> 得点やノーツなどの大まかな仕様が決まった。環境は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だとださいということで、画像に変わりそうな雰囲気になった。記憶計算モジュールでは、キーボードを用いたテストを行い正しく動作した。 <<各モジュールの働き>> !!記憶計算モジュール *記憶 スコア、各判定の数、現在のコンボ数、最大コンボ数を記憶して、ゲーム画面モジュールやクリア画面モジュールに渡す。 *計算 greatの時に100点、goodで75点、goodで50点をスコアに加算する。(各判定の数の合計)×100×0.8<(スコア)の時、ノルマクリアの判定をする。missが0の時、フルコンボの判定をする。それらをクリア画面モジュールに渡す。 !!クリア画面モジュール クリア画面を表示し、スコア、各判定の数、最大コンボ数、曲名、難易度、クリアか失敗か、フルコンボ、を表示する。エンターキーで曲選択画面に遷移する。