【JavaScript】タイピングゲーム1
JavaScriptで作成した簡単なタイピングゲームです。
ドットインストールで紹介されていたJavaScriptでのタイピングゲームの動画を参考にアレンジを加えたものです。
JvaScriptの学習、ゲームの作成の参考に。
もう少し改良したいのでバージョンアップしたら別記事でアップします。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>タイピングゲーム</title> <style> body { text-align: center; } #target { font-size: 48px; } #start-btn { font-size: 24px; } </style> </head> <body> <h1>タイピングゲーム</h1> <p><button type="button" id="start-btn" name="start-btn">スタート<br>(Enter)</button></p> <p id="target"></p> <p id="count"></p> <script> 'use strict'; let words = []; let count = 0; // 完了した文字数 let word = '' // 現在入力中の文字 let index = 0; // 文字の現在地 let missCount = 0; const target = document.getElementById('target'); let startTime = 0; // ゲームスタート時の処理 var gameStart = () => { words = ['red', 'blue', 'green', 'yellow', 'pink', 'black', 'white', 'purple', 'gray', 'orange']; count = words.length; missCount = 0; document.getElementById('count').textContent = `残り ${count} つ`; startTime = new Date(); word = words.splice(Math.floor(Math.random() * words.length), 1).join(); target.textContent = word; }; // ボタン押下時 document.getElementById('start-btn').addEventListener('click', gameStart, false); // キー押下時 document.addEventListener('keydown', e => { // Enter押下時はスタート if(e.key === 'Enter') { gameStart(); return; } if(word.charAt(index) === e.key) { index++; target.textContent = '_'.repeat(index) + word.substring(index); if(index === word.length) { // 1単語終了時 index = 0; count--; document.getElementById('count').textContent = `残り ${count} `; if(count === 0) { // ゲーム終了時 const clearTime = new Date() - startTime; target.textContent = (clearTime / 1000).toFixed(2) + '秒'; document.getElementById('count').textContent = `タイプミス ${missCount}個`; } else { word = words.splice(Math.floor(Math.random() * words.length), 1).join(); target.textContent = word; } } } else { missCount++; } }); </script> </body> </html>