タイピングゲームを作っております
打った文字が正解だった場合、アンダーバーに切り替わっていく様にしたいのですが、なぜかアンダーバーが予定より多くなってしまいます
どこがおかしいのかさっぱりわからないのでご指導くださいm(__)m
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Typing Game</title> 7 <link rel="stylesheet" href="css/styles.css"> 8</head> 9<body> 10 11 12 13 <p id="target">word</p> 14 <p class="info"> 15 Letter count:<span id="score">0</span> 16 Miss count:<span id="miss">0</span> 17 </p> 18 19 20 <script src="js/main.js"></script> 21</body> 22</html>
javascript
1'use strict'; 2 3{ 4 const word = 'apple'; 5 let loc = 0; 6 let score = 0; 7 let miss = 0; 8 9 const target = document.getElementById('target'); 10 const scoreLabel = document.getElementById('score'); 11 const missLabel = document.getElementById('miss'); 12 13 target.textContent = word; 14 15 16 let placeholder=''; 17 let underBar; 18 19 20 21 22 window.addEventListener('keydown', e => { 23 if (e.key === word[loc]) { 24 loc++; 25 for(var i=0;i<loc;i++){ 26 placeholder+='_'; 27 } 28 29 underBar=placeholder+word.substring(loc); 30 31 target.textContent = underBar; 32 33 34 score++; 35 scoreLabel.textContent = score; 36 } else { 37 miss++; 38 missLabel.textContent = miss; 39 40 } 41 42 43 44 }); 45 46} 47
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/19 01:32