JavaScript~クイズゲーム 修正2~

今日は、以前のタイピングゲームの修正です。

上記が以前のコードです。

ここの117行目のところが原因で、最後の問題を解いた後に、正常であれば、結果が出るのですが、それがでません。

まず、何が原因なのか考えるため、
console.log(“3”, typeof question[random] === “undefined”);
をしています。
”3”には特に意味がありません。(見やすくしているだけです笑)

これを実行したところ三問目を解いた後に、undifinedになりました。

理由としては、
読み込まれる順番として、quizStart()→counter()→count > maxだった場合textDeleat()→result()となるのですが、
問題をランダムに表示して、問題がかぶらないようにするために、
97行目で

function randomNotInclude() {
for (let k = min; k <= max; k++) {
while (true) {
let tmp = intRandom(min, max);
if (!randoms.includes(tmp)) {
randoms.push(tmp);
break;
}
}
}

で設定したとうりで、randoms.push(tmp);
より、randoms配列にかぶらない数字を入れています。
なので、問題も1〜4(配列ではindexの番号は0〜3)しかないので、結果画面に移っても、コードは実行されているので5問目(配列indexの番号が4のとき)のときは、値がないのでundefinedになるということでした。

コメント