{"id":13953,"date":"2026-05-09T06:04:36","date_gmt":"2026-05-08T22:04:36","guid":{"rendered":"https:\/\/www.hellhelp.com\/?page_id=13953"},"modified":"2026-05-16T15:03:14","modified_gmt":"2026-05-16T07:03:14","slug":"xiangqi-game","status":"publish","type":"page","link":"https:\/\/www.hellhelp.com\/en\/xiangqi-game\/","title":{"rendered":"\u4e2d\u570b\u8c61\u68cb"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"13953\" class=\"elementor elementor-13953\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4593107 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4593107\" 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-41da993\" data-id=\"41da993\" 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-98cd55f elementor-widget elementor-widget-shortcode\" data-id=\"98cd55f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"mg-frame mg-theme-arcade\" data-mg-game=\"xiangqi\" data-music-url=\"https:\/\/www.hellhelp.com\/wp-content\/plugins\/arcade-games\/assets\/music\/chuugokucha.mp3\"><button type=\"button\" class=\"mg-sound-toggle\" data-mg-sound-toggle aria-label=\"Toggle sound\"><svg class=\"mg-sound-toggle__icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\" fill=\"currentColor\"><\/polygon><path class=\"mg-sound-toggle__on\" d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"><\/path><path class=\"mg-sound-toggle__off\" d=\"M22 9l-6 6M16 9l6 6\"><\/path><\/svg><\/button><button type=\"button\" class=\"mg-music-toggle\" data-mg-music-toggle aria-label=\"Toggle background music\"><svg class=\"mg-music-toggle__icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M9 17V5l10-2v12\"><\/path><circle cx=\"6\" cy=\"17\" r=\"3\" fill=\"currentColor\"><\/circle><circle cx=\"16\" cy=\"15\" r=\"3\" fill=\"currentColor\"><\/circle><path class=\"mg-music-toggle__off\" d=\"M3 21L21 3\"><\/path><\/svg><\/button><div class=\"mg-xq\"\n     data-mg-xiangqi\n data-logged-in=\"0\"\n     data-ai-worker-url=\"https:\/\/www.hellhelp.com\/wp-content\/plugins\/arcade-games\/games\/xiangqi\/xiangqi-ai-worker.js?ver=2.0.318\">\n\n    <!-- Lobby view -->\n    <div class=\"mg-xq__lobby\" data-view=\"lobby\">\n        <div class=\"mg-header\">\n            <h2 class=\"mg-title\">Chinese Chess<\/h2>\n            <div class=\"mg-xq__header-actions\">\n                <button type=\"button\" class=\"mg-btn\" data-action=\"practice-ai\">\n                    Practice vs AI                <\/button>\n                            <\/div>\n        <\/div>\n\n                    <p class=\"mg-xq__gate-msg\">\n                Log in to create a match. Anonymous visitors can still spectate ongoing matches below.            <\/p>\n        \n        \n        <div class=\"mg-xq__section\">\n            <h3 class=\"mg-xq__section-title\">\n                Waiting for opponent            <\/h3>\n            <ul class=\"mg-xq__match-list notranslate\" translate=\"no\" data-list=\"waiting\">\n                <li class=\"mg-xq__empty\">No matches waiting. Create one!<\/li>\n            <\/ul>\n        <\/div>\n\n        <div class=\"mg-xq__section\">\n            <h3 class=\"mg-xq__section-title\">\n                Ongoing matches (spectate)            <\/h3>\n            <ul class=\"mg-xq__match-list notranslate\" translate=\"no\" data-list=\"ongoing\">\n                <li class=\"mg-xq__empty\">No public matches to spectate.<\/li>\n            <\/ul>\n        <\/div>\n\n            <\/div>\n\n    <!-- Create match modal -->\n    \n    <!-- Practice vs AI confirmation modal -->\n    <div class=\"mg-xq__create-modal\" data-practice-modal hidden>\n        <div class=\"mg-xq__create-card\">\n            <h3 class=\"mg-xq__create-title\">\n                Practice vs AI            <\/h3>\n            <p class=\"mg-xq__create-hint\" style=\"margin: 0 0 16px 0;\">\n                Solo practice mode against the computer. No ELO, no leaderboard \u2014 just play. Pick your side and difficulty to start.            <\/p>\n            <fieldset class=\"mg-xq__side-picker\">\n                <legend>Side<\/legend>\n                <label class=\"mg-xq__side-option\">\n                    <input type=\"radio\" name=\"mg-xq-side\" value=\"1\" checked data-practice-side=\"1\">\n                    <span>First<small>Play red<\/small><\/span>\n                <\/label>\n                <label class=\"mg-xq__side-option\">\n                    <input type=\"radio\" name=\"mg-xq-side\" value=\"2\" data-practice-side=\"2\">\n                    <span>Second<small>Play black<\/small><\/span>\n                <\/label>\n            <\/fieldset>\n            <p class=\"mg-xq__create-hint\" style=\"margin: 0 0 8px 0;\">\n                Difficulty            <\/p>\n            <div class=\"mg-xq__difficulty-grid\">\n                <button type=\"button\" class=\"mg-btn mg-xq__difficulty-btn\"\n                        data-action=\"start-practice\" data-difficulty=\"easy\">\n                    <strong>Easy<\/strong>\n                    <span>Beginner-friendly<\/span>\n                <\/button>\n                <button type=\"button\" class=\"mg-btn mg-xq__difficulty-btn\"\n                        data-action=\"start-practice\" data-difficulty=\"medium\">\n                    <strong>Medium<\/strong>\n                    <span>Solid challenge<\/span>\n                <\/button>\n                <button type=\"button\" class=\"mg-btn mg-xq__difficulty-btn\"\n                        data-action=\"start-practice\" data-difficulty=\"hard\">\n                    <strong>Hard<\/strong>\n                    <span>Expect to lose<\/span>\n                <\/button>\n            <\/div>\n            <div class=\"mg-xq__create-actions\">\n                <button type=\"button\" class=\"mg-btn\" data-action=\"cancel-practice\">\n                    Cancel                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Match view -->\n    <div class=\"mg-xq__match\" data-view=\"match\" hidden>\n        <div class=\"mg-xq__match-header\">\n            <button type=\"button\" class=\"mg-btn\" data-action=\"back-to-lobby\">\n                \u2190 Back to Lobby            <\/button>\n            <!-- Practice-mode badge \u2014 JS toggles via data-practice-active\n                 attribute on root. Sits inline in the header so it's\n                 compact yet visible whenever the match view is showing\n                 in practice mode. PvP keeps this hidden. The detail\n                 span shows the chosen difficulty so the user can see\n                 mid-game what they're playing \u2014 without it the badge\n                 just says \"\u7df4\u7fd2\u6a21\u5f0f\" with no specifics and people\n                 forget what they picked. -->\n            <div class=\"mg-xq__practice-badge\" data-practice-badge>\n                <span>Practice Mode \u2014 not ranked<\/span>\n                <span class=\"mg-xq__practice-badge-sep\" data-practice-detail-sep hidden>\u00b7<\/span>\n                <span class=\"mg-xq__practice-badge-detail notranslate\" translate=\"no\" data-practice-detail><\/span>\n            <\/div>\n            <div class=\"mg-xq__status notranslate\" translate=\"no\" data-status><\/div>\n        <\/div>\n\n        <div class=\"mg-xq__players\">\n            <div class=\"mg-xq__player\" data-player=\"1\">\n                <span class=\"mg-xq__color mg-xq__color--red\"><\/span>\n                <span class=\"mg-xq__player-name notranslate\" translate=\"no\" data-name=\"1\"><\/span>\n                <span class=\"mg-xq__clock notranslate\" translate=\"no\" data-clock=\"1\"><\/span>\n            <\/div>\n            <span class=\"mg-xq__vs\">VS<\/span>\n            <div class=\"mg-xq__player\" data-player=\"2\">\n                <span class=\"mg-xq__clock notranslate\" translate=\"no\" data-clock=\"2\"><\/span>\n                <span class=\"mg-xq__player-name notranslate\" translate=\"no\" data-name=\"2\"><\/span>\n                <span class=\"mg-xq__color mg-xq__color--black\"><\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"mg-xq__board-wrap\">\n            <canvas class=\"mg-xq__board\" data-board\n width=\"900\" height=\"1000\"\n                    aria-label=\"Chinese Chess board\"><\/canvas>\n        <\/div>\n\n        <p class=\"mg-xq__hint\" data-hint>\n            Tap your piece, then tap the destination. Tap the same piece again to deselect.        <\/p>\n\n        <div class=\"mg-xq__actions\">\n            <button type=\"button\" class=\"mg-btn\" data-action=\"share-link\"\n                    data-share-btn hidden>\n                \ud83d\udd17 Copy Share Link            <\/button>\n            <!-- v1.0.5: \"Watch this game\" for finished PvP matches.\n                 v1.0.7: emoji prefix removed. -->\n            <button type=\"button\" class=\"mg-btn\" data-action=\"open-replay-for-this\"\n                    data-watch-this-btn hidden>\n                Watch this game            <\/button>\n            <button type=\"button\" class=\"mg-btn\" data-action=\"practice-restart\"\n                    data-practice-btn hidden>\n                New Game            <\/button>\n            <button type=\"button\" class=\"mg-btn\" data-action=\"resign\"\n                    data-resign-btn data-spectator-hide>\n                Resign            <\/button>\n            <!-- v1.0.17: draw-offer state machine. See gomoku template. -->\n            <button type=\"button\" class=\"mg-btn\" data-action=\"draw-offer\"\n                    data-draw-offer-btn data-spectator-hide hidden>\n                Offer draw            <\/button>\n            <button type=\"button\" class=\"mg-btn\" data-action=\"draw-withdraw\"\n                    data-draw-withdraw-btn data-spectator-hide hidden>\n                Withdraw offer            <\/button>\n            <button type=\"button\" class=\"mg-btn\" data-action=\"draw-accept\"\n                    data-draw-accept-btn data-spectator-hide hidden>\n                Accept draw            <\/button>\n            <button type=\"button\" class=\"mg-btn\" data-action=\"draw-decline\"\n                    data-draw-decline-btn data-spectator-hide hidden>\n                Decline            <\/button>\n        <\/div>\n\n        <!-- v1.0.5: replay viewer mount point. -->\n        <div class=\"mg-xq__replay-mount\" data-replay-mount hidden><\/div>\n    <\/div>\n<\/div>\n<\/div><\/div>\n\t\t\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<section class=\"elementor-section elementor-top-section elementor-element elementor-element-60fe6e5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"60fe6e5\" 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-4eb3288\" data-id=\"4eb3288\" 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-ebaae73 elementor-widget elementor-widget-shortcode\" data-id=\"ebaae73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">            <div class=\"mg-friends mg-friends--logged-out mg-themed mg-theme-arcade\">\n                <p>\u8acb\u5148\u767b\u5165\u5148\u81f3\u53ef\u4ee5\u4f7f\u7528\u597d\u53cb\u529f\u80fd<\/p>\n            <\/div>\n            \n        <div class=\"mg-scoreboard mg-scoreboard--tabbed mg-themed mg-theme-arcade\"\n             data-mg-scope-scoreboard\n data-mg-scope-slug=\"xiangqi\">\n            <header class=\"mg-scoreboard__header\">\n                <h3 class=\"mg-scoreboard__title\">Chinese Chess \u2014 Leaderboard<\/h3>\n                <span class=\"mg-scoreboard__meta\">\n                    ELO                <\/span>\n            <\/header>\n            <div class=\"mg-scoreboard__scope-tabs-row\">\n                <div class=\"mg-scoreboard__scope-tabs\" role=\"tablist\"\n                     aria-label=\"Leaderboard scope\">\n                    <button type=\"button\"\n                            class=\"mg-scoreboard__scope-tab is-active\"\n                            role=\"tab\"\n                            aria-selected=\"true\"\n                            data-mg-scope=\"global\">\n                        All                    <\/button>\n                    <button type=\"button\"\n                            class=\"mg-scoreboard__scope-tab\"\n                            role=\"tab\"\n                            aria-selected=\"false\"\n                            data-mg-scope=\"friends\">\n                        Friends                    <\/button>\n                <\/div>\n            <\/div>\n            <div class=\"mg-scoreboard__scope-pane is-active\"\n                 data-mg-scope-pane=\"global\" role=\"tabpanel\">\n                        <div class=\"mg-scoreboard mg-scoreboard--elo\"\n             data-mg-scoreboard\n data-game-slug=\"xiangqi\"\n             data-mg-limit=\"32\"\n             data-score-format=\"elo\"\n             data-score-direction=\"higher\">\n            <header class=\"mg-scoreboard__header\">\n                <h3 class=\"mg-scoreboard__title\">Chinese Chess \u2014 Leaderboard<\/h3>\n                <span class=\"mg-scoreboard__meta\">\n                    ELO                <\/span>\n            <\/header>\n                            <p class=\"mg-scoreboard__empty\">\n                    No records yet \u2014 be the first on the leaderboard!                <\/p>\n                    <\/div>\n                    <\/div>\n            <div class=\"mg-scoreboard__scope-pane\"\n                 data-mg-scope-pane=\"friends\" role=\"tabpanel\">\n                <p class=\"mg-scoreboard__login-prompt\">Log in to see the friends leaderboard<\/p>            <\/div>\n        <\/div>\n        \n<\/div>\n\t\t\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>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13953","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/pages\/13953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/comments?post=13953"}],"version-history":[{"count":11,"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/pages\/13953\/revisions"}],"predecessor-version":[{"id":14278,"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/pages\/13953\/revisions\/14278"}],"wp:attachment":[{"href":"https:\/\/www.hellhelp.com\/en\/wp-json\/wp\/v2\/media?parent=13953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}