ゾンビ捕獲シミュレーション
※ゲームはページをリロードするまで一度しかプレイできません。
ターン1:マリアのターン
<!DOCTYPE html>
<html>
<head>
<title>ゾンビ捕獲シミュレーション</title>
</head>
<body>
<h1>ゾンビ捕獲シミュレーション</h1>
<p>※ゲームはページをリロードするまで一度しかプレイできません。</p>
<div id="game">
<p id="turn">ターン1:マリアのターン</p>
<p id="zombie-cry"></p>
<button id="next-turn-btn">次のターンへ</button>
</div>
<script>
let turn = 1;
// ゾンビの啼き声をランダムに表示
const zombieCry = document.querySelector("#zombie-cry");
const cries = [
"セクシーな啼き声", "キュートな啼き声", "ややダウナーな啼き声",
"鼻歌付きの啼き声", "ジャズっぽい啼き声", "オペラ調の啼き声",
"ロックっぽい啼き声", "クラシックっぽい啼き声", "ヒップホップっぽい啼き声",
"和風調の啼き声", "中国風調の啼き声", "アラビア風調の啼き声",
"メタルっぽい啼き声", "ラップ調の啼き声", "エレクトロニックな啼き声",
"テクノっぽい啼き声", "ハードコアっぽい啼き声", "ディスコっぽい啼き声",
"かわいらしい啼き声", "ぶっきらぼうな啼き声"
];
const randomCry = cries[Math.floor(Math.random() * cries.length)];
zombieCry.textContent = `ゾンビが可愛く啼いています:${randomCry}`;
// 次のターンに進むボタン
const nextTurnBtn = document.querySelector("#next-turn-btn");
nextTurnBtn.addEventListener("click", () => {
turn++;
switch (turn) {
case 2:
document.querySelector("#turn").textContent = "ターン2:マリアのアピール";
// アピールポイントをランダムに表示
const salesPoints = [
"新鮮さがしっかりと残っています",
"外見は美しく整っています",
"ヘアースタイルと顔立ちは一見の価値があります",
"ボディラインはとても魅力的です",
"年齢は約◯◯歳です(実年齢不明)",
"以前の職業は◯◯でした(個人情報は守ります)",
"他にも様々な魅力があります"
];
let i = 0;
setInterval(() => {
if (i >= salesPoints.length) {
clearInterval();
} else {
document.querySelector("#zombie-cry").textContent = salesPoints[i];
i++;
}
}, 3000);
break;
case 3:
document.querySelector("#turn").textContent = "ターン3:サクラの品定め";
// 品定めする部位をランダムに表示
const bodyParts = [
"唇の形と感触については◯◯点にて",
"顔立ちについては◯◯点にて",
"胸の形や大きさ、感触については◯◯点にて",
"脚の肉付けや感触については◯◯点にて",
"鼠径部の状態や感触については◯◯点にて",
"スリットの感触や使用感については◯◯点にて"
];
let j = 0;
setInterval(() => {
if (j >= bodyParts.length) {
clearInterval();
} else {
document.querySelector("#zombie-cry").textContent = bodyParts[j];
j++;
}
}, 3000);
break;
case 4:
document.querySelector("#turn").textContent = "ターン4:サクラの試用";
// 試用の様子をランダムに表示
const trial = [
"サクラ:「まずは唇から…うーん…想像以上に感触が違いますね」",
"ゾンビ:(微かにうとうと…)",
"サクラ:「お次は胸…うむ、かなりの手応えです」",
"ゾンビ:(ふにゃり…)",
"サクラ:「やはりスリットが決め手になりますね」",
"ゾンビ:(ぴくり…)"
];
let k = 0;
setInterval(() => {
if (k >= trial.length) {
clearInterval();
} else {
document.querySelector("#zombie-cry").textContent = trial[k];
k++;
}
}, 3000);
break;
case 5:
document.querySelector("#turn").textContent = "ターン5:引取価格提示";
// 引取価格をランダムに表示し、ボタンでプレイヤーの決断を促す
const prices = [
"サクラ:「このゾンビの引取価格は◯◯円です。いかが致しますか?」",
"サクラ:「価格は◯◯円になります。妥当だと思いますか?」",
"サクラ:「このゾンビは貴重な部位がいくつかあるので、価格は◯◯円になります。大丈夫でしょうか?」"
];
const randomPrice = prices[Math.floor(Math.random() * prices.length)];
document.querySelector("#zombie-cry").textContent = randomPrice;
nextTurnBtn.textContent = "引き渡す";
nextTurnBtn.addEventListener("click", () => {
if (confirm("この価格で引き渡しますか?")) {
alert("引き渡し成功!報酬を受け取りました。");
if (turn == 10) {
alert("すべてのゾンビの評価が終わりました。ゲーム終了です。");
nextTurnBtn.style.display = "none";
} else {
showToast("再読み込みしてください");
}
} else {
document.querySelector("#zombie-cry").textContent = "サクラ:「お客様の判断ですね。残念でした…」";
nextTurnBtn.style.display = "none";
}
});
break;
default:
break;
}
});
</script>
</body>
</html>