Javascriptでタイピングゲームを作成したのですが、これにクリアタイムによるランキングをつけたいのですが、うまくいきませんでした。修正できる方、いらっしゃいましたら是非お願いします。
理想
ゲーム開始から終了までにかかった時間を計測し、そのタイムをランキングに掲載しようと考えています。
試行したJavascript
javascript
1//0~25までの乱数を格納する配列 2var rand = new Array(); 3//問題の文字列を格納 4var mondai = ""; 5//何問目か格納 6var count = 0; 7//問題数 8var queNum = 150; 9 10/*--------------------------------------------*/ 11 12//キー状態管理変数の定義 13var KEYS = new Array(256); 14//キーの状態を false (押されていない)で初期化 15for(var i=0; i<KEYS.length; i++) { 16 KEYS[i] = false; 17} 18//キーが押された時に呼び出される処理を指定 19window.onkeydown = function(e) { 20 //キーボードによる自動スクロールの防止 21 e.preventDefault(); 22 //キーを押された状態に更新 23 KEYS[e.keyCode] = true; 24 typeGame(); 25 26}; 27//キーが離された時に呼び出される処理を指定 28window.onkeyup = function(e) { 29 //キーを離された状態に更新 30 KEYS[e.keyCode] = false; 31}; 32//キーコードを格納する配列 33var kCode = new Array(65,66,67,68,69,70,71,72,73, 34 74,75,76,77,78,79,80,81,82, 35 83,84,85,86,87,88,89,90); 36//文字を格納する配列 37var Alphabet = new Array("A","B","C","D","E","F","G","H","I", 38 "J","K","L","M","N","O","P","Q","R", 39 "S","T","U","V","W","X","Y","Z"); 40 41/*--------------------------------------------*/ 42 43//タイピングゲームの問題をセットする 44function gameSet(){ 45 //問題文とカウント数とタイムをクリアする 46 mondai = ""; 47 count = 0; 48 var score = 0; 49 //0~25までの乱数を queNum 個作成して配列randに格納する 50 for (var i = 0;i < queNum ;i++){ 51 rand[i] = Math.floor( Math.random() * 26 ); 52 } 53 54 //問題文の作成 55 for ( var i = 0 ; i < queNum ; i++){ 56 mondai = mondai + Alphabet[rand[i]]; 57 } 58 59 //問題枠に表示する 60 document.getElementById("frame").innerHTML = mondai; 61} 62 63//キー入力を受け取る 64function typeGame(){ 65 //入力されたキーコードと、問題文のキーコードを比較 66 if(KEYS[kCode[rand[count]]]){ 67 //カウント数を+1にする 68 count++; 69 70 //全文字入力したか確認 71 if (count < queNum){ 72 //問題文の頭の一文字を切り取る 73 mondai = mondai.substring(1,mondai.Length); 74 //問題枠に表示する 75 document.getElementById("frame").innerHTML = mondai; 76 }else{ 77 //問題枠にゲーム終了を表示 78 document.getElementById("frame").innerHTML = "ゲーム終了"; 79 } 80 } 81} 82 83/*--------------------------------------------*/ 84 85gameSet();
回答1件
あなたの回答
tips
プレビュー