記憶ゲーム
表示された配置を記憶して、再現するゲームです。
デモ
プログラム
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>記憶ゲーム</title> <style> form { width:350px; margin:0 auto; text-align:center; } #mondai { overflow:hidden; margin-bottom:1em; } #mondai div { float:left; width:66px; height:66px; border:2px solid #ccc; background:#fff; } </style> <script> window.onload=function(){ function kiokugame() { var mondai; var answer; var l = 25; function init() { mondai = []; document.getElementById('mondai').innerHTML = ''; for (var i = 0; i < l; ++i) { mondai.push(Math.random() > 0.5); var div = document.createElement('div'); div.style.background = (mondai[i] ? '#c00' : '#fff'); document.getElementById('mondai').appendChild(div); } setTimeout(init2, 3000); } function init2() { answer = []; for (var i = 0; i < l; ++i) { answer.push(false); init3(i); } document.getElementById('check').style.display = 'inline'; } function init3(i) { document.getElementById('mondai').getElementsByTagName('div')[i].style.background = '#fff'; document.getElementById('mondai').getElementsByTagName('div')[i].addEventListener('click', function () { answer1(i); }); } function answer1(i) { answer[i] = !answer[i]; document.getElementById('mondai').getElementsByTagName('div')[i].style.background = (answer[i] ? '#c00' : '#fff'); } function check() { if (mondai.join() == answer.join()) { alert('○正解!'); } else { for (var i = 0; i < mondai.length; ++i) { if (mondai[i]) { document.getElementById('mondai').getElementsByTagName('div')[i].style.background = '#f00'; } } alert('×不正解!'); } } document.getElementById('start').addEventListener('click', init); document.getElementById('check').addEventListener('click', check); } kiokugame(); } </script> </head> <body> <form name="form1"> <p> <button type="button" id="start">start</button> </p> <div id="mondai"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> <p> <button type="button" id="check" style="display:none;">答え合わせ</button> </p> </form> </body> </html>
解説
(追記予定)