《The Syndicate》城市游戏如何运作
了解这款自助式城市逃脱游戏如何一步步引导您的团队完成任务。
随时开始
抵达起始地点即可开始任务,没有固定的出发时间。
沿着GPS路线前进
在任务检查点之间移动,随着游戏进程解锁新的挑战。
解决谜题并破解密码
共同完成考验逻辑、速度和团队合作的高压挑战。
完成创意任务
接受互动挑战,包括创意摄影任务和推动故事发展的谜题任务。
揭示线索并找回配方
每个已解决的挑战都帮助您获取六个被盗配方之一,并更接近完成任务。
按照自己的节奏玩
您可以随时暂停任务,并在团队准备好时继续。
/* PHONE SCREEN SECTION */
.phone-screen-section {
position: relative;
min-height: 520px;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
transition: background-image 0.3s ease-in-out;
}
/* Ensure inner column keeps height */
.phone-screen-section >
.kt-inside-inner-col {
min-height: inherit;
}
/* USP items clickable */
.game-usp {
cursor: pointer;
transition: all 0.2s ease;
}
/* Active state styling */
.game-usp.is-active .kt-blocks-info-box-title {
color: var(–global-palette10, #3182CE);
}
.game-usp.is-active .kt-blocks-info-box-link-wrap {
background: rgba(0, 0, 0, 0.04);
}
document.addEventListener(“DOMContentLoaded”, function () {
const phone = document.querySelector(“.phone-screen-section”);
const usps = Array.from(document.querySelectorAll(“.game-usp”));
if (!phone || usps.length === 0) return;
/* 👇 VERVANG DIT PER CONCEPT */
const screens = {
“usp-1”: “/wp-content/blogs.dir/1/files/sites/62/2026/02/syndicate-usp-1.webp”,
“usp-2”: “/wp-content/blogs.dir/1/files/sites/62/2026/02/syndicate-usp-2.webp”,
“usp-3”: “/wp-content/blogs.dir/1/files/sites/62/2026/02/syndicate-usp-3.webp”,
“usp-4”: “/wp-content/blogs.dir/1/files/sites/62/2026/02/syndicate-usp-4.webp”,
“usp-5”: “/wp-content/blogs.dir/1/files/sites/62/2026/02/syndicate-usp-5.webp”,
“usp-6”: “/wp-content/blogs.dir/1/files/sites/62/2026/02/Sherlock-usp-6.webp”
};
let activeKey = null;
function setBackground(key) {
if (!screens[key]) return;
phone.style.backgroundImage = `url(“${screens[key]}”)`;
}
function setActive(el) {
usps.forEach(u =& gt; u.classList.remove(“is-active”));
el.classList.add(“is-active”);
const key = Object.keys(screens).find(k =& gt; el.classList.contains(k));
if (!key) return;
activeKey = key;
setBackground(key);
}
/* CLICK = permanent select */
usps.forEach(el =& gt; {
el.setAttribute(“role”, “button”);
el.setAttribute(“tabindex”, “0”);
el.addEventListener(“click”, () =& gt; {
setActive(el);
});
/* KEYBOARD SUPPORT */
el.addEventListener(“keydown”, (e) =& gt; {
if (e.key === “Enter” || e.key === ” “) {
e.preventDefault();
setActive(el);
}
});
/* HOVER = preview (desktop only) */
el.addEventListener(“mouseenter”, () =& gt; {
const key = Object.keys(screens).find(k =& gt; el.classList.contains(k));
if (!key) return;
setBackground(key);
});
el.addEventListener(“mouseleave”, () =& gt; {
if (activeKey) {
setBackground(activeKey);
}
});
});
/* Default first active */
if (usps[0]) {
setActive(usps[0]);
}
});