推理ゲーム
4つの数字から構成されるランダムなコードを推理してください。
正解の数字が含まれている場合:●、位置は違うが数字が合っている場合:○、数字がまったく異なる場合:×
あなたは6回まで推理することができます。
推理する数字:
結果
残りの推理回数:6
以下が推理ゲームのプログラムになります。プレイヤーは4つの数字から構成されるランダムなコードを推理しなければなりません。推理の結果は、正しい数字がある場合には"●"、数字は合っているが位置が間違っている場合には"○"、数字がまったく合わない場合には"×"で表されます。最大で6回推理することができます。
```html
<!DOCTYPE html>
<html>
<head>
<title>推理ゲーム</title>
<script>
// コードを生成する関数
function generateCode() {
let code = "";
const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let i = 0; i < 4; i++) {
const randomNumber = Math.floor(Math.random() * numbers.length);
code += numbers.splice(randomNumber, 1);
}
return code;
}
// 結果を判定する関数
function calculateResult(guess, code) {
let result = "";
for (let i = 0; i < 4; i++) {
const index = code.indexOf(guess[i]);
if (index === i) {
result += "●";
} else if (index > -1) {
result += "○";
} else {
result += "×";
}
}
return result;
}
// 推理する関数
function guessCode() {
const guess = document.getElementById("guess").value;
const result = calculateResult(guess, code);
const guessNumber = document.getElementById("guess-number").innerHTML;
if (guessNumber === "1") {
alert("残念!正解は" + code + "でした!");
window.showToast("再読み込みしてください");
} else if (result === "●●●●") {
alert("おめでとうございます!" + guessNumber + "回で正解を導き出しました!");
window.showToast("再読み込みしてください");
} else {
document.getElementById("result").innerHTML += "<br>" + guess + ":" + result;
document.getElementById("guess-number").innerHTML = Number(guessNumber) - 1;
}
}
let code = generateCode();
window.onload = function() {
document.getElementById("submit").addEventListener("click", guessCode);
}
</script>
</head>
<body>
<h1>推理ゲーム</h1>
<p>4つの数字から構成されるランダムなコードを推理してください。</p>
<p>正解の数字が含まれている場合:●、位置は違うが数字が合っている場合:○、数字がまったく異なる場合:×</p>
<p>あなたは6回まで推理することができます。</p>
<p>推理する数字:<input type="text" id="guess"></p>
<p><button id="submit">推理する</button></p>
<h2>結果</h2>
<div id="result"></div>
<p>残りの推理回数:<span id="guess-number">6</span></p>
</body>
</html>
```