SOURCE

console 命令行工具 X clear

                    
>
console
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>血染钟楼JSON文件生成工具by黑心恰克</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
        }
        .role-list {
            max-height: 300px;
            overflow-y: auto;
            border: 1px solid #ccc;
            padding: 10px;
            margin-bottom: 20px;
        }
        .role-item {
            margin-bottom: 10px;
        }
        button {
            padding: 10px 20px;
            font-size: 16px;
            margin-top: 20px;
        }
        .selection-info {
            margin-bottom: 20px;
            font-size: 16px;
            color: #333;
        }
    </style>
</head>
<body>
    <h1>血染钟楼JSON文件生成工具</h1>
    <div class="role-list" id="townsfolk-list">
        <h2>镇民</h2>
        <!-- 角色复选框动态加载 -->
    </div>
    <div class="role-list" id="outsiders-list">
        <h2>外来者</h2>
        <!-- 角色复选框动态加载 -->
    </div>
    <div class="role-list" id="minions-list">
        <h2>爪牙</h2>
        <!-- 角色复选框动态加载 -->
    </div>
    <div class="role-list" id="demons-list">
        <h2>恶魔</h2>
        <!-- 角色复选框动态加载 -->
    </div>

    <!-- 显示选择数量的区域 -->
    <div class="selection-info" id="selection-info">
        已选择:镇民 0 个,外来者 0 个,爪牙 0 个,恶魔 0 个
    </div>

    <button onclick="generateJson()">生成JSON文件</button>

    <script>
        // 角色列表
        const townsfolkRoles = [
            { chinese: "洗衣妇", english: "washerwoman" },
            { chinese: "图书管理员", english: "librarian" },
            { chinese: "调查员", english: "investigator" },
            { chinese: "厨师", english: "chef" },
            { chinese: "共情者", english: "empath" },
            { chinese: "占卜师", english: "fortune_teller" },
            { chinese: "送葬者", english: "undertaker" },
            { chinese: "僧侣", english: "monk" },
            { chinese: "守鸦人", english: "ravenkeeper" },
            { chinese: "贞洁者", english: "virgin" },
            { chinese: "猎手", english: "slayer" },
            { chinese: "士兵", english: "soldier" },
            { chinese: "镇长", english: "mayor" },
            { chinese: "祖母", english: "grandmother" },
            { chinese: "水手", english: "sailor" },
            { chinese: "侍女", english: "chambermaid" },
            { chinese: "驱魔人", english: "exorcist" },
            { chinese: "旅店老板", english: "innkeeper" },
            { chinese: "赌徒", english: "gambler" },
            { chinese: "造谣者", english: "gossip" },
            { chinese: "侍臣", english: "courtier" },
            { chinese: "教授", english: "professor" },
            { chinese: "吟游诗人", english: "minstrel" },
            { chinese: "茶艺师", english: "tea_lady" },
            { chinese: "和平主义者", english: "pacifist" },
            { chinese: "弄臣", english: "fool" },
            { chinese: "钟表匠", english: "clockmaker" },
            { chinese: "筑梦师", english: "dreamer" },
            { chinese: "舞蛇人", english: "snake_charmer" },
            { chinese: "数学家", english: "mathematician" },
            { chinese: "卖花女孩", english: "flowergirl" },
            { chinese: "城镇公告员", english: "town_crier" },
            { chinese: "神谕者", english: "oracle" },
            { chinese: "博学者", english: "savant" },
            { chinese: "女裁缝", english: "seamstress" },
            { chinese: "哲学家", english: "philosopher" },
            { chinese: "艺术家", english: "artist" },
            { chinese: "杂耍艺人", english: "juggler" },
            { chinese: "贤者", english: "sage" },
            { chinese: "半兽人", english: "lycanthrope" },
            { chinese: "报丧女妖", english: "banshee" },
            { chinese: "唱诗男孩", english: "choirboy" },
            { chinese: "传教士", english: "preacher" },
            { chinese: "村夫", english: "village_idiot" },
            { chinese: "工程师", english: "engineer" },
            { chinese: "贵族", english: "noble" },
            { chinese: "国王", english: "king" },
            { chinese: "将军", english: "general" },
            { chinese: "炼金术士", english: "alchemist" },
            { chinese: "魔术师", english: "magician" },
            { chinese: "农夫", english: "farmer" },
            { chinese: "女祭司", english: "high_priestess" },
            { chinese: "气球驾驶员", english: "balloonist" },
            { chinese: "骑士", english: "knight" },
            { chinese: "赏金猎人", english: "bounty_hunter" },
            { chinese: "失忆者", english: "amnesiac" },
            { chinese: "食人族", english: "cannibal" },
            { chinese: "事务官", english: "steward" },
            { chinese: "守夜人", english: "nightwatchman" },
            { chinese: "无神论者", english: "atheist" },
            { chinese: "戏法师", english: "alsaahir" },
            { chinese: "小精灵", english: "pixie" },
            { chinese: "修行者", english: "shugenja" },
            { chinese: "巡山人", english: "huntsman" },
            { chinese: "异教领袖", english: "cult_leader" },
            { chinese: "罂粟种植者", english: "poppy_grower" },
            { chinese: "渔夫", english: "fisherman" },
            { chinese: "杂技演员", english: "acrobat" }
        ];

        const outsidersRoles = [
            { chinese: "管家", english: "butler" },
            { chinese: "酒鬼", english: "drunk" },
            { chinese: "陌客", english: "recluse" },
            { chinese: "圣徒", english: "saint" },
            { chinese: "修补匠", english: "tinker" },
            { chinese: "月之子", english: "moonchild" },
            { chinese: "莽夫", english: "goon" },
            { chinese: "疯子", english: "lunatic" },
            { chinese: "畸形秀演员", english: "mutant" },
            { chinese: "心上人", english: "sweetheart" },
            { chinese: "理发师", english: "barber" },
            { chinese: "呆瓜", english: "klutz" },
            { chinese: "告密者", english: "snitch" },
            { chinese: "解谜大师", english: "puzzlemaster" },
            { chinese: "狂热者", english: "zealot" },
            { chinese: "落难少女", english: "damsel" },
            { chinese: "帽匠", english: "hatter" },
            { chinese: "魔像", english: "golem" },
            { chinese: "食人魔", english: "ogre" },
            { chinese: "瘟疫医生", english: "plague_doctor" },
            { chinese: "异端分子", english: "heretic" },
            { chinese: "政客", english: "politician" }
            ];

        const minionsRoles = [
            { chinese: "投毒者", english: "poisoner" },
            { chinese: "间谍", english: "spy" },
            { chinese: "红唇女郎", english: "scarlet_woman" },
            { chinese: "男爵", english: "baron" },
            { chinese: "教父", english: "godfather" },
            { chinese: "魔鬼代言人", english: "devil's_advocate" },
            { chinese: "刺客", english: "assassin" },
            { chinese: "主谋", english: "mastermind" },
            { chinese: "镜像双子", english: "evil_twin" },
            { chinese: "女巫", english: "witch" },
            { chinese: "洗脑师", english: "cerenovus" },
            { chinese: "麻脸巫婆", english: "pit-hag" },
            { chinese: "哥布林", english: "goblin" },
            { chinese: "寡妇", english: "widow" },
            { chinese: "街头风琴手", english: "organ_grinder" },
            { chinese: "精神病患者", english: "psychopath" },
            { chinese: "科学怪人", english: "boffin" },
            { chinese: "恐惧之灵", english: "fearmonger" },
            { chinese: "灵言师", english: "mezepheles" },
            { chinese: "提线木偶", english: "marionette" },
            { chinese: "维齐尔", english: "vizier" },
            { chinese: "巫师", english: "wizard" },
            { chinese: "限", english: "xaan" },
            { chinese: "鹰身女妖", english: "harpy" },
            { chinese: "炸弹人", english: "boomdandy" },
            { chinese: "召唤师", english: "summoner" }
        ];

        const demonsRoles = [
            { chinese: "小恶魔", english: "imp" },
            { chinese: "僵怖", english: "zombuul" },
            { chinese: "普卡", english: "pukka" },
            { chinese: "沙巴洛斯", english: "shabaloth" },
            { chinese: "珀", english: "po" },
            { chinese: "方古", english: "fang_gu" },
            { chinese: "亡骨魔", english: "vigormortis" },
            { chinese: "诺-达鲺", english: "no_dashii" },
            { chinese: "涡流", english: "vortox" },
            { chinese: "奥赫", english: "ojo" },
            { chinese: "暴乱", english: "riot" },
            { chinese: "堤丰之首", english: "lord_of_typhon" },
            { chinese: "哈迪寂亚", english: "al-hadikhia" },
            { chinese: "军团", english: "legion" },
            { chinese: "卡扎力", english: "kazali" },
            { chinese: "利维坦", english: "leviathan" },
            { chinese: "痢蛭", english: "lleech" },
            { chinese: "小怪宝", english: "lil_monsta" },
            { chinese: "牙噶巴卜", english: "yaggababble" }
        ];

        // 动态加载角色复选框
        function loadRoles(roles, containerId) {
            const roleList = document.getElementById(containerId);
            roles.forEach(role => {
                const div = document.createElement('div');
                div.className = 'role-item';
                div.innerHTML = `
                    <label>
                        <input type="checkbox" value="${role.english}" onchange="updateSelectionCount()"> ${role.chinese}
                    </label>
                `;
                roleList.appendChild(div);
            });
        }

        // 更新选择数量
        function updateSelectionCount() {
            const townsfolkCount = document.querySelectorAll('#townsfolk-list input[type="checkbox"]:checked').length;
            const outsidersCount = document.querySelectorAll('#outsiders-list input[type="checkbox"]:checked').length;
            const minionsCount = document.querySelectorAll('#minions-list input[type="checkbox"]:checked').length;
            const demonsCount = document.querySelectorAll('#demons-list input[type="checkbox"]:checked').length;

            const selectionInfo = document.getElementById('selection-info');
            selectionInfo.textContent = `已选择:镇民 ${townsfolkCount} 个,外来者 ${outsidersCount} 个,爪牙 ${minionsCount} 个,恶魔 ${demonsCount} 个`;
        }

        // 初始化加载角色
        loadRoles(townsfolkRoles, 'townsfolk-list');
        loadRoles(outsidersRoles, 'outsiders-list');
        loadRoles(minionsRoles, 'minions-list');
        loadRoles(demonsRoles, 'demons-list');

        // 生成JSON文件
        function generateJson() {
            const selectedRoles = [];
            document.querySelectorAll('.role-list input[type="checkbox"]:checked').forEach(checkbox => {
                selectedRoles.push({ id: checkbox.value });
            });

            if (selectedRoles.length === 0) {
                alert("请至少选择一个角色!");
                return;
            }

            const jsonData = JSON.stringify(selectedRoles, null, 4);
            const blob = new Blob([jsonData], { type: 'application/json' });
            const url = URL.createObjectURL(blob);

            const a = document.createElement('a');
            a.href = url;
            a.download = '黑心恰克工具生成的简易Json文件.json';
            a.click();
            URL.revokeObjectURL(url);

            alert("JSON文件已生成!");
        }
    </script>
</body>
</html>