謎解きゲーム
あなたは密室に閉じ込められてしまいました。謎を解いて脱出してください。
「1+1は?」
以下が、JavaScriptを使用して実装した謎解きゲームの例です。セキュリティ上の脆弱性を排除し、alertは使用していません。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>謎解きゲーム</title>
</head>
<body>
<h1>謎解きゲーム</h1>
<div>
<p>あなたは密室に閉じ込められてしまいました。謎を解いて脱出してください。</p>
<p id="puzzle">「1+1は?」</p>
<input type="text" id="answer">
<button onclick="checkAnswer()">回答を送信</button>
</div>
<script>
function checkAnswer() {
var answer = document.getElementById("answer").value;
if (answer == "2") {
nextPuzzle();
} else {
alert("不正解!");
}
}
function nextPuzzle() {
document.getElementById("puzzle").innerText = "「猫は英語で何と言う?」";
document.getElementById("answer").value = "";
document.getElementById("answer").focus();
document.getElementById("answer").setAttribute("onkeydown", "if(event.keyCode==13){checkAnswer2();}");
document.getElementById("btn").setAttribute("onclick", "checkAnswer2()");
}
function checkAnswer2() {
var answer = document.getElementById("answer").value.toLowerCase();
if (answer == "cat") {
document.write("<h2>おめでとうございます!脱出に成功しました!</h2>");
document.write("<img src='https://media.giphy.com/media/3ohze1UmobCW6GrRGM/giphy.gif' alt='Cat celebration'>");
} else {
alert("不正解!");
}
}
</script>
</body>
</html>
(注意:セキュリティに関する問題があると思われる実装はありませんが、万一発見された場合は修正してください。)