<!DOCTYPE html>
<html>
<head>
<title>ブラックアジト</title>
</head>
<body>
<script>
// メンバーオブジェクトを作成
var member1 = {name: "A", point: 50};
var member2 = {name: "B", point: 50};
var member3 = {name: "C", point: 50};
var member4 = {name: "D", point: 50};
var member5 = {name: "E", point: 50};
// メンバーを配列に格納
var members = [member1, member2, member3, member4, member5];
// ポイントを加減算する関数
function score(member) {
var randomNum = Math.floor(Math.random() * 2); // ランダムに0 or 1を生成
if (randomNum == 0) {
// ポイントを減算
member.point -= 10;
// テキスト出力
console.log(member.name + ":作戦失敗!(10ポイント減少)");
console.log("現在のポイント:" + member.point);
return -10;
} else {
// ポイントを加算
member.point += 20;
// テキスト出力
console.log(member.name + ":作戦成功!(20ポイント加算)");
console.log("現在のポイント:" + member.point);
return 20;
}
}
// 採点を行う関数
function judge(member) {
var scoreResult = score(member); // ポイントを加減算し、結果を取得
if (member.point >= 100) {
// ポイントが100を超えた場合
console.log(member.name + ":" + "えへへ、私" + member.name + "ちゃんが" + scoreResult + "ポイントもゲットしちゃった♪");
console.log(member.name + ":" + "あ、これが" + member.name + "ちゃんの花はち♡");
} else if (member.point <= 0) {
// ポイントが0以下になった場合
console.log(member.name + ":" + "あぁ、" + member.name + "ちゃんもここまでかぁ…。");
console.log(member.name + ":" + "ごめんね、" + "社長さん" +"…。");
members.splice(members.indexOf(member), 1); // 配列から削除
} else {
// ポイントが0を超え、かつ100未満の場合
console.log(member.name + ":" + "ありがとう、" + "社長さん" + "! " + scoreResult + "ポイントゲットしたよ!!");
}
}
// 全員に採点を行う関数
function scoreAllMembers() {
for (var i = 0; i < members.length; i++) {
judge(members[i]);
}
}
// メイン処理
alert("ようこそ「ブラックアジト」へ!\nこのゲームはプレイヤーがボスとなり、構成員を指揮するシミュレーションゲームです。\n5人の女子構成員のポイントを加減算し、全員を花にすることを目指しましょう!");
while (true) {
var isContinue = confirm("作戦を続行しますか?"); // ダイアログで続行・中断を選択
if (!isContinue) {
alert("作戦を中断しました。\nまたの挑戦をお待ちしております。");
break;
}
scoreAllMembers(); // 全員に採点を行う
if (members.length === 0) {
alert("全員を失ってしまいました。\nバットエンドとなりました。\nまたの挑戦をお待ちしております。");
break;
}
// ポイントが0以下のメンバーを削除し、新規の構成員を追加
members = members.filter(function(member) {
return member.point > 0; // ポイントが0以上のメンバーだけを取り出して配列に格納
});
if (members.length < 5) {
var newMemberName = prompt("新しいメンバーを追加してください。\n(最大5人まで)");
if (newMemberName != null && newMemberName != "") {
var newMember = {name: newMemberName, point: 50};
members.push(newMember);
alert(newMember.name + "さんを新たに追加しました。");
}
}
if (members.length === 5 && members.every(function(member) { return member.point >= 100; })) {
// 全員が100ポイント以上であれば、ハッピーエンド
alert("全員が花になりました!\nあなたは世界を席巻し、構成員たちはあなたへの永遠の忠誠を誓いました。\nHappy Ending!!");
break;
}
}
</script>
</body>
</html>