{"id":457,"date":"2026-01-31T15:20:48","date_gmt":"2026-01-31T07:20:48","guid":{"rendered":"https:\/\/www.jhcis.idv.tw\/jan\/?page_id=457"},"modified":"2026-02-01T11:33:03","modified_gmt":"2026-02-01T03:33:03","slug":"%e5%91%bd%e7%9b%a4%e5%8d%9c%e5%8d%a0","status":"publish","type":"page","link":"https:\/\/www.jhcis.idv.tw\/jan\/?page_id=457","title":{"rendered":"\u547d\u76e4\u535c\u5360"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"zh-TW\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u89c0\u68cb\u77e5\u547d &#8211; V6.7 \u6d41\u5e74\u6642\u7a7a\u7248<\/title>\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2canvas\/1.4.1\/html2canvas.min.js\"><\/script>\n    <style>\n        :root { --main-red: #8b0000; --ai-blue: #1a73e8; --gold: #d1c4a9; --wood: #5d4037; }\n        body { font-family: \"Microsoft JhengHei\", sans-serif; background-color: #fdfaf5; display: flex; flex-direction: column; align-items: center; padding: 15px; margin: 0; color: #333; }\n        \n        \/* \u7d50\u69cb\u5316\u8f38\u5165\u9762\u677f *\/\n        .info-panel { background: white; padding: 20px; border-radius: 15px; margin-bottom: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); width: 90%; max-width: 500px; border: 1px solid var(--gold); }\n        .input-row { display: flex; gap: 10px; margin-bottom: 10px; }\n        .input-group { display: flex; flex-direction: column; flex: 1; }\n        .input-group label { font-size: 13px; color: var(--main-red); font-weight: bold; margin-bottom: 4px; }\n        input, select, textarea { padding: 10px; border: 1px solid var(--gold); border-radius: 8px; font-size: 14px; outline: none; background: #fdfdfd; width: 100%; box-sizing: border-box; }\n        textarea { height: 50px; resize: none; }\n\n        .controls { margin-bottom: 20px; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; position: sticky; top: 10px; z-index: 100; }\n        .btn { padding: 10px 20px; border-radius: 50px; border: none; cursor: pointer; font-size: 14px; font-weight: bold; transition: 0.3s; color: white; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }\n        .btn-start { background-color: var(--main-red); }\n        .btn-ai { background-color: var(--ai-blue); }\n        .btn-jpg { background-color: var(--wood); }\n\n        \/* \u547d\u76e4\u5340\u57df *\/\n        #capture-area { background: white; padding: 25px; border: 1px solid var(--main-red); width: 95vw; max-width: 450px; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; border-radius: 20px; position: relative; }\n        .title { color: var(--main-red); font-size: 24px; margin-bottom: 5px; letter-spacing: 8px; font-weight: bold; }\n        .sub-title { color: var(--wood); font-size: 12px; margin-bottom: 20px; font-weight: bold; }\n        \n        .chain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }\n        .cell { aspect-ratio: 1\/1; perspective: 1000px; position: relative; }\n        .cell.empty { border: none; }\n        .flip-inner { position: relative; width: 100%; height: 100%; transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); transform-style: preserve-3d; }\n        .do-flip { transform: rotateY(180deg); }\n\n        .chess-front, .chess-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; border-radius: 50%; display: flex; align-items: center; justify-content: center; }\n        .chess-back { background: #fff; border: 1px dashed var(--gold); color: var(--gold); font-size: 16px; font-weight: bold; }\n        .chess-front { background: white; border: 2px solid #222; font-size: 24px; font-weight: bold; transform: rotateY(180deg); box-shadow: 2px 4px 8px rgba(0,0,0,0.1); width: 90%; height: 90%; }\n\n        .red .chess-front { color: #d32f2f; border-color: #d32f2f; }\n        .black .chess-front { color: #1a1a1a; border-color: #1a1a1a; }\n        .last-one .chess-front { border: 4px double var(--main-red); background: #fffaf0; }\n\n        #guide-modal { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 25px; border-radius: 20px; z-index: 1000; text-align: center; border: 2px solid var(--ai-blue); width: 85%; max-width: 320px; box-shadow: 0 0 50px rgba(0,0,0,0.3); }\n        #overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 999; }\n    <\/style>\n<\/head>\n<body>\n\n    <div class=\"info-panel\">\n        <div class=\"input-row\">\n            <div class=\"input-group\"><label>\u554f\u5366\u4eba<\/label><input type=\"text\" id=\"user-name\" placeholder=\"\u7a31\u547c\"><\/div>\n            <div class=\"input-group\"><label>\u51fa\u751f\u5e74<\/label><input type=\"number\" id=\"user-birth\" placeholder=\"\u4f8b: 1985\"><\/div>\n        <\/div>\n        <div class=\"input-row\">\n            <div class=\"input-group\">\n                <label>\u554f\u5366\u985e\u5225<\/label>\n                <select id=\"query-type\">\n                    <option value=\"\u4e8b\u696d\u9032\u5c55\">\u4e8b\u696d\u9032\u5c55<\/option>\n                    <option value=\"\u8ca1\u904b\u6295\u8cc7\">\u8ca1\u904b\u6295\u8cc7<\/option>\n                    <option value=\"\u5a5a\u59fb\u611f\u60c5\">\u5a5a\u59fb\u611f\u60c5<\/option>\n                    <option value=\"\u56f0\u5883\u89e3\u5957\">\u5982\u4f55\u89e3\u5957<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n        <div class=\"input-group\"><label>\u4e8b\u7531\u7c21\u8ff0<\/label><textarea id=\"user-query\" placeholder=\"\u8acb\u7cbe\u78ba\u63cf\u8ff0\u60a8\u7684\u554f\u984c...\"><\/textarea><\/div>\n    <\/div>\n\n    <div class=\"controls\">\n        <button class=\"btn btn-start\" onclick=\"startDivination()\">\u2728 \u555f\u52d5\u9577\u93c8<\/button>\n        <button class=\"btn btn-ai\" onclick=\"launchAI()\">\ud83d\ude80 \u6d41\u5e74\u6df1\u5ea6\u89e3\u6790<\/button>\n        <button class=\"btn btn-jpg\" onclick=\"exportJPG()\">\ud83d\udcf8 \u5b58\u547d\u76e4<\/button>\n    <\/div>\n\n    <div id=\"capture-area\">\n        <div class=\"title\">\u89c0\u68cb\u77e5\u547d\u80fd\u91cf\u9577\u93c8<\/div>\n        <div class=\"sub-title\">\u6642\u7a7a\u5ea7\u6a19\uff1a2026 \u4e19\u5348\u6d41\u5e74<\/div>\n        <div id=\"chain\" class=\"chain-grid\"><\/div>\n    <\/div>\n\n    <div id=\"overlay\" onclick=\"closeModal()\"><\/div>\n    <div id=\"guide-modal\">\n        <h3 style=\"color:var(--ai-blue);\">\ud83d\udccb \u6d41\u5e74\u6578\u64da\u5df2\u8907\u88fd<\/h3>\n        <p style=\"text-align: left; font-size: 14px; line-height: 1.8;\">\n            1. \u5305\u542b <b>2026 \u7576\u524d\u6d41\u5e74<\/b> \u6578\u64da\u3002<br>\n            2. \u5305\u542b <b>20\/30\/40\/50 \u6b72<\/b> \u95dc\u9375\u8f49\u6298\u9ede\u3002<br>\n            3. \u8acb\u4e0a\u50b3\u547d\u76e4\u622a\u5716\u4e26\u8cbc\u4e0a\u6307\u4ee4\u3002\n        <\/p>\n        <button class=\"btn btn-ai\" onclick=\"closeModal()\">\u524d\u5f80 AI \u5206\u6790<\/button>\n    <\/div>\n\n<script>\n    const chessPool = [\n        {n:\"\u5e25\", s:\"red\"}, {n:\"\u4ed5\", s:\"red\"}, {n:\"\u4ed5\", s:\"red\"}, {n:\"\u76f8\", s:\"red\"}, {n:\"\u76f8\", s:\"red\"},\n        {n:\"\u4fe5\", s:\"red\"}, {n:\"\u4fe5\", s:\"red\"}, {n:\"\u508c\", s:\"red\"}, {n:\"\u508c\", s:\"red\"}, {n:\"\u70ae\", s:\"red\"}, {n:\"\u70ae\", s:\"red\"},\n        {n:\"\u5175\", s:\"red\"}, {n:\"\u5175\", s:\"red\"}, {n:\"\u5175\", s:\"red\"}, {n:\"\u5175\", s:\"red\"}, {n:\"\u5175\", s:\"red\"},\n        {n:\"\u5c07\", s:\"black\"}, {n:\"\u58eb\", s:\"black\"}, {n:\"\u58eb\", s:\"black\"}, {n:\"\u8c61\", s:\"black\"}, {n:\"\u8c61\", s:\"black\"},\n        {n:\"\u8eca\", s:\"black\"}, {n:\"\u8eca\", s:\"black\"}, {n:\"\u99ac\", s:\"black\"}, {n:\"\u99ac\", s:\"black\"}, {n:\"\u5305\", s:\"black\"}, {n:\"\u5305\", s:\"black\"},\n        {n:\"\u5352\", s:\"black\"}, {n:\"\u5352\", s:\"black\"}, {n:\"\u5352\", s:\"black\"}, {n:\"\u5352\", s:\"black\"}, {n:\"\u5352\", s:\"black\"}\n    ];\n\n    const layout = [\n        { r:0, c:1, label:4 }, { r:1, c:0, label:2 }, { r:1, c:1, label:1 }, { r:1, c:2, label:3 }, { r:2, c:1, label:5 },\n        { r:3, c:0, label:7 }, { r:3, c:1, label:6 }, { r:3, c:2, label:8 }, { r:4, c:1, label:9 },\n        { r:5, c:0, label:11 }, { r:5, c:1, label:10 }, { r:5, c:2, label:12 }, { r:6, c:1, label:13 },\n        { r:7, c:0, label:15 }, { r:7, c:1, label:14 }, { r:7, c:2, label:16 }, { r:8, c:1, label:17 },\n        { r:9, c:0, label:19 }, { r:9, c:1, label:18 }, { r:9, c:2, label:20 }, { r:10, c:1, label:21 },\n        { r:11, c:0, label:23 }, { r:11, c:1, label:22 }, { r:11, c:2, label:24 }, { r:12, c:1, label:25 },\n        { r:13, c:0, label:27 }, { r:13, c:1, label:26 }, { r:13, c:2, label:28 }, { r:14, c:1, label:29 },\n        { r:15, c:0, label:31 }, { r:15, c:1, label:30 }, { r:15, c:2, label:32 }, { r:16, c:1, label:4 }\n    ];\n\n    let currentResults = [];\n\n    function init() {\n        const container = document.getElementById('chain');\n        container.innerHTML = '';\n        layout.forEach(item => {\n            const cell = document.createElement('div');\n            cell.id = `cell-${item.r}-${item.c}`;\n            cell.className = 'cell';\n            cell.style.gridRow = item.r + 1;\n            cell.style.gridColumn = item.c + 1;\n            cell.innerHTML = `<div class=\"flip-inner\"><div class=\"chess-back\">${item.label}<\/div><div class=\"chess-front\"><\/div><\/div>`;\n            container.appendChild(cell);\n        });\n    }\n\n    function startDivination() {\n        let deck = [...chessPool].sort(() => 0.5 - Math.random());\n        const finalDeck = [...deck, deck[0]];\n        currentResults = [];\n        document.querySelectorAll('.flip-inner').forEach(el => el.classList.remove('do-flip'));\n\n        layout.forEach((item, i) => {\n            const cell = document.getElementById(`cell-${item.r}-${item.c}`);\n            const inner = cell.querySelector('.flip-inner');\n            const front = cell.querySelector('.chess-front');\n            const chess = finalDeck[i];\n\n            front.innerText = chess.n;\n            cell.className = `cell ${chess.s} ${i === 32 ? 'last-one' : ''}`;\n            currentResults.push({ label: item.label, side: chess.s === 'red' ? '\ud83d\udfe5' : '\u2b1b', name: chess.n });\n            setTimeout(() => { inner.classList.add('do-flip'); }, i * 60);\n        });\n    }\n\n    function launchAI() {\n        if (currentResults.length === 0) return;\n        const name = document.getElementById('user-name').value || \"\u5927\u5fb7\";\n        const birth = document.getElementById('user-birth').value || \"1990\";\n        const type = document.getElementById('query-type').value;\n        const query = document.getElementById('user-query').value || \"\u672a\u8a3b\u660e\u4e8b\u7531\";\n\n        let dataChainText = \"\";\n        currentResults.forEach((item, idx) => {\n            dataChainText += `[${item.label}] ${item.side}${item.name}\u3000`;\n            if ((idx + 1) % 3 === 0) dataChainText += \"\\n\";\n        });\n\n        let resultText = `\u3010\u6838\u5fc3\u6307\u4ee4\uff1a\u89c0\u68cb\u77e5\u547d V6.7 \u6d41\u5e74\u7368\u7acb\u89e3\u6790\u3011\\n` +\n                         `\u203b \u6b0a\u9650\u9396\u5b9a\uff1a\u9694\u96e2\u6240\u6709\u904e\u5f80\u7d00\u9304\uff0c\u5c07\u6b64\u5c0d\u8a71\u8996\u70ba\u7368\u7acb\u6642\u7a7a\u3002\u50c5\u91dd\u5c0d\u7576\u524d\u6578\u64da\u9032\u884c\u5c01\u9589\u5f0f\u89e3\u6790\u3002\\n\\n` +\n                         `## \u554f\u5366\u4eba\u8cc7\u8a0a\\n` +\n                         `* \u59d3\u540d\uff1a${name} (\u51fa\u751f\u5e74\uff1a${birth})\\n` +\n                         `* \u985e\u5225\uff1a${type} \/ \u4e8b\u7531\uff1a${query}\\n` +\n                         `* \u7576\u524d\u6642\u9593\u5ea7\u6a19\uff1a2026 \u4e19\u5348\u6d41\u5e74\\n\\n` +\n                         `## \u9577\u93c8\u80fd\u91cf\u6578\u64da (1-33 \u5faa\u5e8f)\\n${dataChainText}\\n\\n` +\n                         `--------------------------------------------------\\n` +\n                         `\u3010\u4efb\u52d9\uff1a\u6642\u7a7a\u96d9\u7dad\u5ea6\u89e3\u6790\u3011\\n` +\n                         `1. **\u6d41\u5e74\u5c0d\u4f4d**\uff1a\u8acb\u5c07\u9577\u93c8\u6578\u64da\u5c0d\u61c9\u81f3 2026 \u6d41\u5e74\uff0c\u89e3\u6790\u7576\u524d\u6c23\u904b\u4e4b\u8d77\u4f0f\u3002\\n` +\n                         `2. **\u95dc\u9375\u6b72\u904b\u689d\u5217**\uff1a\u8acb\u6839\u64da\u5366\u8c61\u80fd\u91cf\uff0c\u5206\u5225\u91dd\u5c0d\u554f\u5366\u4eba\u4eba\u751f\u95dc\u9375\u7bc0\u9ede\u9032\u884c\u300c\u4e00\u53e5\u8a71\u9810\u8b66\u300d\uff1a\\n` +\n                         `   - 20 \u6b72\u80fd\u91cf\u8868\u73fe\uff1a\\n` +\n                         `   - 30 \u6b72\u80fd\u91cf\u8868\u73fe\uff1a\\n` +\n                         `   - 40 \u6b72\u80fd\u91cf\u8868\u73fe\uff1a\\n` +\n                         `   - 50 \u6b72\u80fd\u91cf\u8868\u73fe\uff1a\\n` +\n                         `3. **\u6838\u5fc3\u89e3\u6790\u8868\u683c**\uff1a\u5305\u542b\u3010\u80fd\u91cf\u52d5\u614b\u3011\u8207\u3010\u5177\u9ad4\u89e3\u5957\u65b9\u6848\u3011\u3002\\n` +\n                         `4. \u7d50\u8a9e\u8acb\u91dd\u5c0d\u300c\u7b2c33\u6b65\u56de\u6b78\u9ede\u300d\u63d0\u4f9b\u6eab\u6f64\u7684\u5c0e\u5e2b\u7d1a\u6307\u5f15\u3002`;\n\n        navigator.clipboard.writeText(resultText).then(() => {\n            document.getElementById('overlay').style.display = 'block';\n            document.getElementById('guide-modal').style.display = 'block';\n        });\n    }\n\n    function closeModal() { document.getElementById('overlay').style.display = 'none'; document.getElementById('guide-modal').style.display = 'none'; window.open('https:\/\/gemini.google.com\/app', '_blank'); }\n    function exportJPG() { html2canvas(document.getElementById('capture-area'), {scale:2}).then(canvas => { const link = document.createElement('a'); link.href = canvas.toDataURL(\"image\/jpeg\", 0.95); link.download = `\u89c0\u68cb\u77e5\u547d_\u6d41\u5e74\u9577\u93c8.jpg`; link.click(); }); }\n    window.onload = init;\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u89c0\u68cb\u77e5\u547d &#8211; V6.7 <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-457","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/pages\/457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=457"}],"version-history":[{"count":6,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/pages\/457\/revisions"}],"predecessor-version":[{"id":471,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/pages\/457\/revisions\/471"}],"wp:attachment":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}