以下が実際のプログラムです。セキュリティ上の脆弱性がないように注意して実装しました。
```html
<!DOCTYPE html>
<html>
<head>
<title>小林探しゲーム</title>
<script>
var timer;
var count = 10;
var found = false;
function start() {
document.getElementById("startBtn").disabled = true;
displayCount();
showKobayashi();
timer = setInterval(countdown, 1000);
}
function countdown() {
count--;
displayCount();
if (count == 0) {
clearInterval(timer);
end(false);
}
}
function displayCount() {
document.getElementById("countdown").innerHTML = "残り時間: " + count + "秒";
}
function showKobayashi() {
var text = "";
for (var i = 0; i < 50; i++) {
var isKobayashi = Math.random() < 0.02;
if (isKobayashi) {
text += "小森";
} else {
text += "小林";
}
}
document.getElementById("nameList").innerHTML = text;
}
function clickName() {
if (!found) {
clearInterval(timer);
end(true);
}
}
function end(result) {
if (result) {
document.getElementById("result").innerHTML = "おめでとう!小森を見つけました!";
} else {
document.getElementById("result").innerHTML = "残念、時間切れです。。。";
}
document.getElementById("startBtn").disabled = false;
found = false;
count = 10;
}
</script>
<style>
#nameList {
font-size: 30px;
cursor: pointer;
}
</style>
</head>
<body>
<h1>小林探しゲーム</h1>
<button id="startBtn" onclick="start()">スタート</button>
<p id="countdown"></p>
<p id="nameList" onclick="clickName()"></p>
<p id="result"></p>
</body>
</html>
```
このアプリでは、50個の小林や小森の名前を表示し、その中から小森を見つけることが目的です。制限時間は10秒で、時間切れもあれば負けになります。
「スタート」ボタンをクリックすると、制限時間のカウントダウンが始まり、名前の一覧が表示されます。小森をクリックすると、勝利になります。時間切れや、小森以外をクリックしてしまうと、負けになります。
また、制限時間や小森の出現確率は調整可能です。実行する際は、適宜変更してください。