{"id":7956,"date":"2026-06-03T17:09:34","date_gmt":"2026-06-03T09:09:34","guid":{"rendered":"https:\/\/www.peachcp.com\/wro-hk\/?page_id=7956"},"modified":"2026-06-03T17:38:56","modified_gmt":"2026-06-03T09:38:56","slug":"wro2026-onlinescoresheet-mission-senior","status":"publish","type":"page","link":"https:\/\/www.peachcp.com\/wro-hk\/hk-selection\/wro2026\/wro2026-onlinescoresheet-mission-senior\/","title":{"rendered":"WRO2026\u8a08\u5206\u8868-\u4efb\u52d9\u8cfd\uff08\u9ad8\u4e2d\u7d44\uff09"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7956\" class=\"elementor elementor-7956\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-756303a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"756303a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d16d966\" data-id=\"d16d966\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ab2b41b elementor-widget elementor-widget-html\" data-id=\"ab2b41b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!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>\u9ad8\u4e2d\u7d44 - \u968a\u4f0d\u8a08\u5206\u7cfb\u7d71<\/title>\n <style>\n        :root {\n            --primary-color: #005E92;\n            --secondary-color: #DB291A;\n            --accent-color: #ea4335;\n            --background-color: #f8f9fa;\n            --card-color: #ffffff;\n            --text-color: #202124;\n            --border-color: #dadce0;\n        }\n        \n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n        \n        body {\n            font-family: 'Segoe UI', 'Microsoft JhengHei', sans-serif;\n            background-color: var(--background-color);\n            color: var(--text-color);\n            line-height: 1.5;\n        }\n        \n        .container {\n            max-width: auto;\n            margin: 0 auto;\n            padding: 10px;\n        }\n        \n        .score-header {\n            text-align: center;\n            margin-bottom: 15px;\n            padding: 15px 10px;\n            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\n            color: white;\n            border-radius: 8px;\n            box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n        }\n        \n        .logo {\n            font-size: 1.8em;\n            margin-bottom: 5px;\n        }\n        \n        .subtitle {\n            font-size: 1em;\n            opacity: 0.9;\n        }\n        .rule-grid {\n            display: grid;\n            grid-template-columns: repeat(3, 1fr);\n            gap: 12px;\n            margin-top: 12px;\n        }        \n        .rule-btn {\n            display: inline-block;\n            margin: 8px;\n            padding: 8px 20px;\n            background: linear-gradient(135deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1));\n            color: white;\n            text-decoration: none;\n            border-radius: 8px;\n            font-size: 16px;\n            font-weight: 500;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            border: 1px solid rgba(255, 255, 255, 0.3);\n            box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n        }\n        \n        .rule-btn:hover {\n            background: linear-gradient(135deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2));\n            transform: translateY(-2px);\n            color: white;\n            border-color: rgba(255, 255, 255, 0.6);\n            box-shadow: 0 4px 8px rgba(0,0,0,0.15);\n        }        \n        \n        .card {\n            background-color: var(--card-color);\n            border-radius: 8px;\n            padding: 15px;\n            box-shadow: 0 1px 5px rgba(0,0,0,0.08);\n            margin-bottom: 15px;\n        }\n        \n        .total-display {\n            position: sticky;\n            position: -webkit-sticky;\n            top: 85px;\n            z-index: 99;\n            text-align: center;\n            padding: 15px;\n            margin: 20px 0;\n            background: linear-gradient(135deg, #f8f9fa, #e9ecef);\n            border-radius: 10px;\n            border: 2px solid var(--border-color);\n        }\n        \n        .total-label {\n            font-size: 2em;\n            color: #666;\n            margin-bottom: 5px;\n            color: var(--secondary-color);\n        }\n        \n        .total-score {\n            font-size: 2em;\n            font-weight: bold;\n            color: var(--secondary-color);\n        }\n        \n        .max-score-note {\n            font-size: 0.9em;\n            color: #666;\n            text-align: center;\n            margin-top: 5px;\n        }\n        \n        .reset-btn {\n            background-color: #666;\n            color: white;\n            border: none;\n            padding: 12px 20px;\n            border-radius: 6px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s;\n            width: 100%;\n            margin-top: 20px;\n        }\n        \n        .reset-btn:hover {\n            background-color: #555;\n            transform: translateY(-2px);\n            box-shadow: 0 4px 8px rgba(0,0,0,0.2);\n        }        \n        \/* \u8a08\u5206\u6309\u9215\u5340\u57df *\/\n        .scoring-section {\n            margin-bottom: 30px;\n        }\n        \n        .task-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin-bottom: 15px;\n            padding: 10px 15px;\n            background: #f1f8ff;\n            border-radius: 8px;\n            border-left: 4px solid var(--primary-color);\n        }\n        \n        .task-title {\n            font-weight: 600;\n            color: #333;\n        }\n        \n        .task-score {\n            font-weight: bold;\n            font-size: 1em;\n            color: var(--secondary-color);\n        }\n        \n        .button-group {\n            display: grid;\n            grid-template-columns: repeat(7, 1fr);\n            gap: 8px;\n            margin-bottom: 15px;\n        }\n        \n        @media (max-width: 768px) {\n            .rule-grid {\n                grid-template-columns: 1fr;\n                gap: 0px;\n            }\n            \n            .rule-btn {\n                white-space: normal;\n                padding: 12px 16px;\n                justify-content: center;\n            }\n            .button-group {\n                grid-template-columns: repeat(4, 1fr);\n            }\n            \n            .task-score {\n                position: relative;\n                min-width: 40px;\n                text-align: right;\n                color: transparent;\n            }\n            \n            .task-score span {\n                color: var(--secondary-color) !important;\n                font-weight: bold;\n                font-size: 1.1em;\n                display: inline-block;\n            }\n            \n            .task-header {\n                padding: 8px 10px;\n            }\n            \n            .task-title {\n                font-size: 0.95em;\n                line-height: 1.3;\n            }\n            \n            @media (max-width: 480px) {\n                .task-title {\n                    font-size: 0.9em;\n                }\n                \n                .task-score span {\n                    font-size: 1em !important;\n                }\n            }\n        }\n        \n        @media (min-width: 769px) {\n            .task-score {\n                color: inherit;\n            }\n            \n            .task-score span {\n                color: inherit;\n                font-size: inherit;\n            }\n        }\n        \n        .score-button {\n            padding: 12px 5px;\n            border: 2px solid var(--border-color);\n            background: white;\n            border-radius: 6px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.2s;\n            text-align: center;\n        }\n        \n        .score-button:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 3px 6px rgba(0,0,0,0.1);\n        }\n        \n        .score-button.selected {\n            background-color: var(--primary-color);\n            color: white;\n            border-color: var(--primary-color);\n        }\n\n        .score-button.max-score.selected {\n            background-color: var(--secondary-color);\n            color: white;\n            border-color: var(--secondary-color);\n        }\n        \n <\/style>\n<\/head>\n<body>\n<div class=\"container\">\n<div class=\"score-header\">\n<div class=\"logo\" id=\"competitionTitle\">\ud83c\udfc6 \u9ad8\u4e2d\u7d44\u4efb\u52d9\u8cfd<\/div>\n<div class=\"subtitle\">\u9ede\u64ca\u6309\u9215\u5feb\u901f\u7d00\u9304\u4efb\u52d9\u5b8c\u6210\u5ea6\uff0c\u5373\u6642\u8a08\u7b97\u7e3d\u5206<\/div>\n<div class=\"rule-grid\">\n <a href=\"#\" onclick=\"openGeneralRuleWithConfirm(event)\" class=\"rule-btn\">\ud83d\udccb \u7e3d\u5247<\/a>\n <a href=\"#\" onclick=\"openHKRuleWithConfirm(event)\" class=\"rule-btn\">\ud83c\udded\ud83c\uddf0 \u9999\u6e2f\u5340\u898f\u5247<\/a>\n <a href=\"#\" onclick=\"openEngRuleWithConfirm(event)\" class=\"rule-btn\">\ud83c\udf0d \u570b\u969b\u8cfd\u898f\u5247<\/a>\n <\/div>\n <\/div>\n        \n<div class=\"main-content\">\n<div>\n<div class=\"card\">\n                    \n<div class=\"total-display\">\n<div style=\"display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px;\">\n<div style=\"display: flex; align-items: center;\">\n <span class=\"total-label\">\u7e3d\u5206:<\/span>\n <span class=\"total-score\" id=\"totalScoreDisplay\">0<\/span>\n <span class=\"max-score-note\" id=\"maxScoreNote\">\/233<\/span>\n <\/div>\n<div style=\"display: flex; align-items: center; gap: 10px;\">\n <span style=\"font-size: 1.2em;\">\u23f1\ufe0f<\/span>\n <span id=\"timerDisplay\" style=\"font-size: 1.5em; font-weight: bold; font-family: monospace; color: var(--primary-color);\">00:00.00<\/span>\n <\/div>\n <\/div>\n<div style=\"display: flex; justify-content: center; gap: 15px; margin-top: 5px;\">\n <button type=\"button\" id=\"timerStartStopBtn\" style=\"flex: 3; padding: 12px 0; background: #4CAF50; color: white; border: none; border-radius: 8px; cursor: pointer; font-size: 18px; font-weight: bold;\">\u958b\u59cb<\/button>\n <button type=\"button\" id=\"timerResetBtn\" style=\"flex: 1; padding: 8px 0; background: #f44336; color: white; border: none; border-radius: 6px; cursor: pointer; font-size: 16px;\">\u91cd\u7f6e<\/button>\n <\/div>\n <\/div>\n                    \n                    \n<div id=\"secondaryTasks\" class=\"competition-tasks\">\n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">1a. \u9577\u65b9\u5f62\u5149\u5319\u5b8c\u5168\u9032\u5165<u>\u8d0a\u52a9\u5546\u5340<\/u><\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task1aScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task1a\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task1a\" data-score=\"15\">1<\/button>\n <\/div>\n <\/div>\n                        \n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">1b. \u9577\u65b9\u5f62\u5149\u5319\u90e8\u5206\u9032\u5165<u>\u8d0a\u52a9\u5546\u5340<\/u><\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task1bScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task1b\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task1b\" data-score=\"5\">1<\/button>\n <\/div>\n <\/div>\n\n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">1c. \u6c34\u6ce5\u7897\u5b8c\u5168\u9032\u5165<u>\u505c\u8eca\u4f4d<\/u><\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task1cScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task1c\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task1c\" data-score=\"15\">1<\/button>\n <\/div>\n <\/div>\n                        \n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">1d. \u6c34\u6ce5\u7897\u90e8\u5206\u9032\u5165<u>\u505c\u8eca\u4f4d<\/u><\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task1dScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task1d\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task1d\" data-score=\"5\">1<\/button>\n <\/div>\n <\/div>\n\n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">1e. \u5c16\u982d\u7070\u5319\u5b8c\u5168\u9032\u5165<u>\u8d77\u59cb\u5340<\/u><\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task1eScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task1e\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task1e\" data-score=\"15\">1<\/button>\n <\/div>\n <\/div>\n                        \n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">1f. \u5c16\u982d\u7070\u5319\u90e8\u5206\u9032\u5165<u>\u8d77\u59cb\u5340<\/u><\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task1fScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task1f\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task1f\" data-score=\"5\">1<\/button>\n <\/div>\n <\/div>\n\n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">2a. <u>\u6b63\u78ba\u653e\u7f6e<\/u>\u99ac\u8cfd\u514b\u74f7\u78da\u5230\u99ac\u8cfd\u514b\u756b\u6846\u5167<\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task2aScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"10\">1<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"20\">2<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"30\">3<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"40\">4<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"50\">5<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"60\">6<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"70\">7<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"80\">8<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"90\">9<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"100\">10<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2a\" data-score=\"110\">11<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task2a\" data-score=\"120\">12<\/button>\n <\/div>\n <\/div>\n                        \n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">2b. <u>\u4e0d\u6b63\u78ba\u653e\u7f6e<\/u>\u99ac\u8cfd\u514b\u74f7\u78da\u5230\u99ac\u8cfd\u514b\u756b\u6846\u5167<\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task2bScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"5\">1<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"10\">2<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"15\">3<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"20\">4<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"25\">5<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"30\">6<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"35\">7<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"40\">8<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"45\">9<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"50\">10<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task2b\" data-score=\"55\">11<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task2b\" data-score=\"60\">12<\/button>\n <\/div>\n <\/div>\n\n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">3. \u6c34\u6ce5\u6750\u6599<u>\u5b8c\u5168\u9032\u5165<\/u>\u5c0d\u61c9\u8457\u8272\u6c34\u6ce5\u76ee\u6a19\u5340\u57df<\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"task3Score\">0<\/span><\/div>\n <\/div>\n\n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"1\">1<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"2\">2<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"3\">3<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"4\">4<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"5\">5<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"6\">6<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"7\">7<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"8\">8<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"9\">9<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"10\">10<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"11\">11<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"12\">12<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"13\">13<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"14\">14<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"15\">15<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"16\">16<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"17\">17<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"18\">18<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"19\">19<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"20\">20<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"21\">21<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"22\">22<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"23\">23<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"24\">24<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"25\">25<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"26\">26<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"27\">27<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"28\">28<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"29\">29<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"30\">30<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"31\">31<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"32\">32<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"33\">33<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"34\">34<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"35\">35<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"36\">36<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"37\">37<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"38\">38<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"task3\" data-score=\"39\">39<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"task3\" data-score=\"40\">40<\/button>\n <\/div>\n <\/div>\n\n                        \n<div class=\"scoring-section\">\n<div class=\"task-header\">\n<div class=\"task-title\">4. \u9694\u7246\u6c92\u6709\u88ab\u640d\u58de\u6216\u79fb\u52d5<\/div>\n<div class=\"task-score\">\u5206\u6578: <span id=\"bonusScore\">0<\/span><\/div>\n <\/div>\n                            \n<div class=\"button-group\">\n <button type=\"button\" class=\"score-button\" data-task=\"bonus\" data-score=\"0\">0<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"bonus\" data-score=\"7\">1<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"bonus\" data-score=\"14\">2<\/button>\n <button type=\"button\" class=\"score-button\" data-task=\"bonus\" data-score=\"21\">3<\/button>\n <button type=\"button\" class=\"score-button max-score\" data-task=\"bonus\" data-score=\"28\">4<\/button>\n <\/div>\n <\/div>\n <\/div>\n                    \n                    \n<div style=\"display: flex; gap: 10px; margin-top: 20px;\">\n <button type=\"button\" class=\"reset-btn\" id=\"resetButton\" style=\"flex: 1;\">\u91cd\u7f6e\u5206\u6578<\/button>\n <button type=\"button\" class=\"reset-btn\" id=\"saveRecordBtn\" style=\"flex: 1;\">\u4fdd\u5b58\u8a18\u9304<\/button>\n <\/div>\n                    \n                    \n<div id=\"recordsDisplay\" style=\"margin-top: 20px; padding: 15px; background: #fff; border-radius: 8px; border: 1px solid var(--border-color);\">\n<h4 style=\"margin-bottom: 10px; color: #333; display: flex; align-items: center;\">\u6210\u7e3e\u8a18\u9304 <span style=\"font-size: 0.8em; color: #999; margin-left: 10px;\">(\u5237\u65b0\u9801\u9762\u5f8c\u6d88\u5931)<\/span>\n <\/h4>\n<div id=\"recordsList\" style=\"max-height: 300px; overflow-y: auto;\">\n<div style=\"text-align: center; color: #999; padding: 20px;\">\u66ab\u7121\u4fdd\u5b58\u8a18\u9304<\/div>\n <\/div>\n<div style=\"margin-top: 10px; text-align: right;\">\n <button type=\"button\" id=\"clearRecordsBtn\" style=\"padding: 5px 15px; background-color: #f44336; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px;\">\u6e05\u9664\u6240\u6709\u8a18\u9304<\/button>\n <\/div>\n <\/div> \n <\/div>\n <\/div>\n <\/div>\n <\/div>\n    \n <script>\n        function openGeneralRuleWithConfirm(event) {\n            event.preventDefault();\n            const userConfirmed = confirm(\"\u60a8\u78ba\u5b9a\u8981\u67e5\u770b\u3010\u7e3d\u5247\u3011\u55ce\uff1f\\n\\n\u5c07\u6703\u958b\u555f\u65b0\u7684\u8996\u7a97\u3002\");\n            if (userConfirmed) {\n                const rulesUrl = \"https:\/\/docs.google.com\/document\/d\/15u26AYV-2ihYvuhptItKmeDlLqkKfXoR\/edit#heading=h.gjdgxs\";\n                window.open(rulesUrl, \"_blank\");\n            }\n        } \n        function openHKRuleWithConfirm(event) {\n            event.preventDefault();\n            const userConfirmed = confirm(\"\u60a8\u78ba\u5b9a\u8981\u67e5\u770b\u3010\u9999\u6e2f\u5340\u898f\u5247\u3011\u55ce\uff1f\\n\\n\u5c07\u6703\u958b\u555f\u65b0\u7684\u8996\u7a97\u3002\");\n            if (userConfirmed) {\n                const rulesUrl = \"https:\/\/docs.google.com\/document\/d\/13mphbdkJrWgQP5x1t9RlYH4JNF0QE8cjMulUM79VuAU\/edit?usp=drive_link\";\n                window.open(rulesUrl, \"_blank\");\n            }\n        }    \n        function openEngRuleWithConfirm(event) {\n            event.preventDefault();\n            const userConfirmed = confirm(\"\u60a8\u78ba\u5b9a\u8981\u67e5\u770b\u3010\u570b\u969b\u8cfd\u898f\u5247\u3011\u55ce\uff1f\\n\\n\u5c07\u6703\u958b\u555f\u65b0\u7684\u8996\u7a97\u3002\");\n            if (userConfirmed) {\n                const rulesUrl = \"https:\/\/wro-association.org\/wp-content\/uploads\/WRO-2026-RoboMission-Junior-Game-Rules.pdf\";\n                window.open(rulesUrl, \"_blank\");\n            }\n        }            \n\n        \/\/ \u521d\u4e2d\u7d44\u8a08\u5206\u6578\u64da\n        let scores = {\n            task1a: 0,\n            task1b: 0,\n            task1c: 0,\n            task1d: 0,\n            task1e: 0,\n            task1f: 0,\n            task2a: 0,\n            task2b: 0,\n            task3: 0,\n            bonus: 0\n        };\n        \n        \/\/ \u81e8\u6642\u8a18\u9304\u4fdd\u5b58\u529f\u80fd\n        let savedRecords = [];\n        \n        function timeStringToMilliseconds(timeStr) {\n            const parts = timeStr.split(\/[:.]\/);\n            const minutes = parseInt(parts[0]);\n            const seconds = parseInt(parts[1]);\n            const milliseconds = parseInt(parts[2]) * 10;\n            return minutes * 60000 + seconds * 1000 + milliseconds;\n        }\n        \n        function sortRecords(records) {\n            return records.sort((a, b) => {\n                const scoreA = parseInt(a.score);\n                const scoreB = parseInt(b.score);\n                if (scoreA !== scoreB) {\n                    return scoreB - scoreA;\n                }\n                const timeA = timeStringToMilliseconds(a.time);\n                const timeB = timeStringToMilliseconds(b.time);\n                return timeA - timeB;\n            });\n        }\n        \n        function addRecord() {\n            const totalScore = document.getElementById('totalScoreDisplay').textContent;\n            const maxScore = '233';\n            const currentTime = document.getElementById('timerDisplay').textContent;\n            \n            const record = {\n                id: Date.now(),\n                timestamp: new Date().toLocaleString(),\n                score: totalScore,\n                maxScore: maxScore,\n                time: currentTime,\n                percentage: Math.round((parseInt(totalScore) \/ parseInt(maxScore)) * 100)\n            };\n            \n            savedRecords.push(record);\n            savedRecords = sortRecords(savedRecords);\n            displayRecords();\n        }\n        \n        function deleteRecord(id) {\n            savedRecords = savedRecords.filter(record => record.id !== id);\n            displayRecords();\n        }\n        \n        function clearAllRecords() {\n            savedRecords = [];\n            displayRecords();\n        }\n        \n        function displayRecords() {\n            const recordsList = document.getElementById('recordsList');\n            \n            if (savedRecords.length === 0) {\n                recordsList.innerHTML = '<div style=\"text-align: center; color: #999; padding: 20px;\">\u66ab\u7121\u4fdd\u5b58\u8a18\u9304<\/div>';\n                return;\n            }\n            \n            let html = '';\n            savedRecords.forEach((record, index) => {\n                const rankIcon = index === 0 ? '\ud83e\udd47' : index === 1 ? '\ud83e\udd48' : index === 2 ? '\ud83e\udd49' : '';\n                \n                html += `\n<div style=\"margin-bottom: 10px; padding: 12px; background: #f8f9fa; border-radius: 6px; border-left: 4px solid #005E92; position: relative;\">\n<div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;\">\n<div style=\"display: flex; align-items: center; gap: 5px;\">\n                                ${rankIcon ? `<span style=\"font-size: 1.2em;\">${rankIcon}<\/span>` : ''}\n <span style=\"font-size: 0.85em; color: #666;\">#${index + 1}<\/span>\n <\/div>\n <span style=\"font-size: 0.85em; color: #666;\">${record.timestamp}<\/span>\n <\/div>\n<div style=\"display: flex; justify-content: space-between; align-items: center;\">\n<div>\n <span style=\"font-size: 1.2em; font-weight: bold; color: #005E92;\">${record.score}<\/span>\n <span style=\"color: #666;\">\/${record.maxScore}<\/span>\n <span style=\"margin-left: 10px; padding: 2px 8px; background: #005E92; color: white; border-radius: 12px; font-size: 0.85em;\">\n                                    ${record.percentage}%\n <\/span>\n <\/div>\n<div style=\"display: flex; align-items: center; gap: 15px;\">\n <span style=\"font-family: monospace; color: #005E92;\">\u23f1\ufe0f ${record.time}<\/span>\n <button onclick=\"deleteRecord(${record.id})\" style=\"padding: 4px 10px; background: #f44336; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 12px;\">\n                                    \u522a\u9664\n <\/button>\n <\/div>\n <\/div>\n <\/div>\n                `;\n            });\n            \n            recordsList.innerHTML = html;\n        }\n        \n        window.deleteRecord = deleteRecord;\n        \n        \/\/ \u8a08\u6642\u5668\u529f\u80fd\n        let timerInterval = null;\n        let timerStartTime = null;\n        let timerElapsedTime = 0;\n        let isTimerRunning = false;\n        \n        function updateTimerDisplay() {\n            const totalMilliseconds = timerElapsedTime;\n            const minutes = Math.floor(totalMilliseconds \/ 60000);\n            const seconds = Math.floor((totalMilliseconds % 60000) \/ 1000);\n            const milliseconds = Math.floor((totalMilliseconds % 1000) \/ 10);\n            \n            document.getElementById('timerDisplay').textContent = \n                `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}.${milliseconds.toString().padStart(2, '0')}`;\n        }\n\n        function toggleTimer() {\n            const startStopBtn = document.getElementById('timerStartStopBtn');\n            \n            if (!isTimerRunning) {\n                isTimerRunning = true;\n                timerStartTime = Date.now() - timerElapsedTime;\n                \n                timerInterval = setInterval(() => {\n                    timerElapsedTime = Date.now() - timerStartTime;\n                    updateTimerDisplay();\n                }, 10);\n                \n                startStopBtn.textContent = '\u66ab\u505c';\n                startStopBtn.style.background = '#FFC107';\n                startStopBtn.style.color = 'black';\n            } else {\n                isTimerRunning = false;\n                clearInterval(timerInterval);\n                timerInterval = null;\n                timerElapsedTime = Date.now() - timerStartTime;\n                \n                startStopBtn.textContent = '\u958b\u59cb';\n                startStopBtn.style.background = '#4CAF50';\n                startStopBtn.style.color = 'white';\n            }\n        }\n\n        function resetTimer() {\n            if (isTimerRunning) {\n                isTimerRunning = false;\n                clearInterval(timerInterval);\n                timerInterval = null;\n            }\n            \n            timerElapsedTime = 0;\n            timerStartTime = null;\n            updateTimerDisplay();\n            \n            const startStopBtn = document.getElementById('timerStartStopBtn');\n            startStopBtn.textContent = '\u958b\u59cb';\n            startStopBtn.style.background = '#4CAF50';\n            startStopBtn.style.color = 'white';\n        }\n        \n        function selectScore(task, score) {\n            scores[task] = score;\n            updateScoreDisplay(task);\n            updateTotalScore();\n            \n            document.querySelectorAll(`.score-button[data-task=\"${task}\"]`).forEach(button => {\n                button.classList.remove('selected');\n                if (parseInt(button.dataset.score) === score) {\n                    button.classList.add('selected');\n                }\n            });\n        }\n        \n        function updateScoreDisplay(task) {\n            const displayElement = document.getElementById(`${task}Score`);\n            if (displayElement) {\n                displayElement.textContent = scores[task];\n            }\n        }\n        \n        function updateTotalScore() {\n            let total = 0;\n            Object.keys(scores).forEach(task => {\n                total += scores[task];\n            });\n            document.getElementById('totalScoreDisplay').textContent = total;\n        }\n        \n        function resetAllScores() {\n            Object.keys(scores).forEach(task => {\n                scores[task] = 0;\n                updateScoreDisplay(task);\n            });\n            \n            updateTotalScore();\n            \n            document.querySelectorAll('.score-button').forEach(button => {\n                button.classList.remove('selected');\n            });\n            \n            document.querySelectorAll('.score-button[data-score=\"0\"]').forEach(button => {\n                button.classList.add('selected');\n            });\n        }\n        \n        function initEventListeners() {\n            document.getElementById('timerStartStopBtn').addEventListener('click', toggleTimer);\n            document.getElementById('timerResetBtn').addEventListener('click', resetTimer);\n\n            document.querySelectorAll('.score-button').forEach(button => {\n                button.addEventListener('click', () => {\n                    const task = button.dataset.task;\n                    const score = parseInt(button.dataset.score);\n                    selectScore(task, score);\n                });\n            });\n            \n            document.getElementById('resetButton').addEventListener('click', resetAllScores);\n            \n            document.querySelectorAll('.score-button[data-score=\"0\"]').forEach(button => {\n                button.classList.add('selected');\n            });\n            \n            document.getElementById('saveRecordBtn').addEventListener('click', addRecord);\n            document.getElementById('clearRecordsBtn').addEventListener('click', clearAllRecords);\n        }\n        \n        document.addEventListener('DOMContentLoaded', function() {\n            initEventListeners();\n        });\n <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u9ad8\u4e2d\u7d44 &#8211; \u968a\u4f0d\u8a08\u5206\u7cfb\u7d71 \ud83c\udfc6 \u9ad8\u4e2d\u7d44\u4efb\u52d9\u8cfd \u9ede\u64ca &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":7234,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7956","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/7956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/comments?post=7956"}],"version-history":[{"count":10,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/7956\/revisions"}],"predecessor-version":[{"id":7970,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/7956\/revisions\/7970"}],"up":[{"embeddable":true,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/7234"}],"wp:attachment":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/media?parent=7956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}