【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
関数setWord(); の実行の流れで気になったのですが、全文字正解であれば、 1ゲーム目が終わったあとif (location === word.length)に従って、setWord();が実行されますよね。 でも、その後にまた、addEventListenerの直前にある、setWord();が実行されると思うのですが、 ウィンドウではそのようには見えていません。 これは単純に、setWord();の処理が速すぎて連続で見えていない、ということでしょうか? setWord(); //新しいワードが表示される(1ゲーム目) document.addEventListener('keydown', e => { if (e.key !== word[location]) { return; } location++; target.textContent = '_'.repeat(location) + word.substring(location); if (location === word.length) { setWord(); //新しいワードが表示される(2ゲーム目、1回目) } }); ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ setWord(); //新しいワードが表示される(2ゲーム目、2回目?) document.addEventListener('keydown', e => {...........});
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
関数setWord(); の実行の流れで気になったのですが、全文字正解であれば、
1ゲーム目が終わったあとif (location === word.length)に従って、setWord();が実行されますよね。
でも、その後にまた、addEventListenerの直前にある、setWord();が実行されると思うのですが、
ウィンドウではそのようには見えていません。
これは単純に、setWord();の処理が速すぎて連続で見えていない、ということでしょうか?
setWord(); //新しいワードが表示される(1ゲーム目)
document.addEventListener('keydown', e => {
if (e.key !== word[location]) {
return;
}
location++;
target.textContent = '_'.repeat(location) + word.substring(location);
if (location === word.length) {
setWord(); //新しいワードが表示される(2ゲーム目、1回目)
}
});
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
setWord(); //新しいワードが表示される(2ゲーム目、2回目?)
document.addEventListener('keydown', e => {...........});