game-turtle-host.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>海龟汤 - 主持人视图</title>
  7. <!-- Tailwind CSS -->
  8. <script src="https://cdn.tailwindcss.com"></script>
  9. <!-- FontAwesome -->
  10. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  11. <!-- 自定义样式 -->
  12. <link rel="stylesheet" href="../css/custom.css">
  13. <style>
  14. .app-content {
  15. padding-bottom: 60px; /* 为底部导航栏留出空间 */
  16. }
  17. .host-theme {
  18. --host-primary: #FFA000;
  19. --host-secondary: #FFF8E1;
  20. --host-accent: #FF6F00;
  21. }
  22. .host-header {
  23. background-color: var(--host-primary);
  24. color: white;
  25. }
  26. .chat-container {
  27. max-height: 250px;
  28. overflow-y: auto;
  29. }
  30. .turtle-soup-clue {
  31. padding: 10px;
  32. border-radius: 6px;
  33. background-color: white;
  34. margin-bottom: 8px;
  35. border-left: 3px solid #4d79ff;
  36. }
  37. .turtle-soup-clue.unrevealed {
  38. background-color: #f3f4f6;
  39. border-left: 3px solid #9ca3af;
  40. }
  41. .host-button {
  42. background-color: var(--host-primary);
  43. color: white;
  44. }
  45. .host-button:hover {
  46. background-color: var(--host-accent);
  47. }
  48. .host-badge {
  49. background-color: var(--host-primary);
  50. color: white;
  51. padding: 2px 8px;
  52. border-radius: 9999px;
  53. font-size: 0.75rem;
  54. }
  55. .solution-card {
  56. background-color: var(--host-secondary);
  57. border: 1px solid var(--host-primary);
  58. border-radius: 8px;
  59. padding: 12px;
  60. margin-bottom: 16px;
  61. }
  62. .solution-header {
  63. color: var(--host-primary);
  64. font-weight: 600;
  65. font-size: 0.875rem;
  66. margin-bottom: 4px;
  67. display: flex;
  68. align-items: center;
  69. }
  70. .solution-header i {
  71. margin-right: 6px;
  72. }
  73. </style>
  74. </head>
  75. <body class="host-theme">
  76. <div class="iphone-frame">
  77. <!-- 引入状态栏 -->
  78. <iframe src="../components/status-bar.html" frameborder="0" scrolling="no" style="width:100%; height:44px; overflow:hidden;"></iframe>
  79. <!-- 导航栏 -->
  80. <div class="app-navbar host-header">
  81. <div class="title">海龟汤 - 主持人</div>
  82. <div class="right-button text-sm">
  83. <span class="host-badge">主持人</span>
  84. </div>
  85. </div>
  86. <!-- 内容区域 -->
  87. <div class="app-content">
  88. <!-- 游戏状态 -->
  89. <div class="bg-amber-100 p-3 text-center">
  90. <div class="flex items-center justify-center">
  91. <i class="fas fa-hourglass-half text-amber-500 mr-2"></i>
  92. <span class="text-amber-700 font-medium">游戏进行中</span>
  93. </div>
  94. <div class="text-xs text-amber-700 mt-1">已进行: 12分钟 · 主持人模式</div>
  95. </div>
  96. <!-- 谜题信息 -->
  97. <div class="m-3">
  98. <div class="flex items-center justify-between mb-2">
  99. <div class="font-bold text-lg">神秘的手表</div>
  100. <div class="text-xs text-amber-500">难度: 中等</div>
  101. </div>
  102. <!-- 汤面(玩家可见) -->
  103. <div class="p-3 bg-white rounded-md mb-3 border-l-4 border-primary shadow-sm">
  104. <div class="text-xs text-primary font-medium mb-1 flex items-center">
  105. <i class="fas fa-eye mr-1"></i> 汤面(玩家可见)
  106. </div>
  107. <p class="text-sm">
  108. 一个男人收到了一块神秘的手表,戴上后就再也无法取下来。一周后,他自杀了。为什么?
  109. </p>
  110. </div>
  111. <!-- 汤底(只有主持人可见) -->
  112. <div class="solution-card">
  113. <div class="solution-header">
  114. <i class="fas fa-lock"></i> 汤底(仅主持人可见)
  115. </div>
  116. <p class="text-sm">
  117. 这个手表可以预知未来24小时内将发生的事情。男人看到了自己将在一周后死亡,尝试了各种方法改变命运但都失败了。最终,由于无法承受这种恐惧和绝望,他选择了自杀。这反而实现了手表的预言。
  118. </p>
  119. </div>
  120. </div>
  121. <!-- 关键线索列表 -->
  122. <div class="m-3">
  123. <div class="flex justify-between items-center mb-2">
  124. <h3 class="font-medium flex items-center">
  125. <i class="fas fa-key text-amber-500 mr-1"></i> 关键线索
  126. </h3>
  127. <div class="text-xs px-2 py-0.5 bg-amber-100 text-amber-700 rounded-full">2/5已揭示</div>
  128. </div>
  129. <div class="space-y-2">
  130. <!-- 已揭示线索 -->
  131. <div class="turtle-soup-clue">
  132. <div class="flex justify-between items-center">
  133. <span class="text-xs text-primary font-medium">线索1(已揭示)</span>
  134. <span class="text-xs text-gray-500">12:05揭示</span>
  135. </div>
  136. <p class="text-sm mt-1">这块手表有特殊功能,不是普通手表。</p>
  137. </div>
  138. <div class="turtle-soup-clue">
  139. <div class="flex justify-between items-center">
  140. <span class="text-xs text-primary font-medium">线索2(已揭示)</span>
  141. <span class="text-xs text-gray-500">12:08揭示</span>
  142. </div>
  143. <p class="text-sm mt-1">手表可以显示未来将发生的事情。</p>
  144. </div>
  145. <!-- 未揭示线索 -->
  146. <div class="turtle-soup-clue unrevealed">
  147. <div class="flex justify-between items-center">
  148. <span class="text-xs text-gray-500 font-medium">线索3(未揭示)</span>
  149. <button class="text-xs text-amber-600 font-medium">揭示</button>
  150. </div>
  151. <p class="text-sm mt-1 text-gray-400">男人尝试了多种方法阻止预言的实现,但都失败了。</p>
  152. </div>
  153. <div class="turtle-soup-clue unrevealed">
  154. <div class="flex justify-between items-center">
  155. <span class="text-xs text-gray-500 font-medium">线索4(未揭示)</span>
  156. <button class="text-xs text-amber-600 font-medium">揭示</button>
  157. </div>
  158. <p class="text-sm mt-1 text-gray-400">手表预测的是他的死亡,但没有预测到死亡的具体方式。</p>
  159. </div>
  160. <div class="turtle-soup-clue unrevealed">
  161. <div class="flex justify-between items-center">
  162. <span class="text-xs text-gray-500 font-medium">线索5(未揭示)</span>
  163. <button class="text-xs text-amber-600 font-medium">揭示</button>
  164. </div>
  165. <p class="text-sm mt-1 text-gray-400">手表的预言总是会实现,但方式可能有所不同。</p>
  166. </div>
  167. </div>
  168. </div>
  169. <!-- 问答互动区域 -->
  170. <div class="p-3 bg-white border-t border-gray-200">
  171. <h3 class="font-medium mb-3 flex items-center">
  172. <i class="fas fa-comments text-amber-500 mr-1"></i> 玩家问题
  173. </h3>
  174. <div class="chat-container flex flex-col">
  175. <!-- 玩家问题1 -->
  176. <div class="chat-bubble left">
  177. <div class="text-xs text-gray-500 mb-1">小红 · 2分钟前</div>
  178. 手表是有特殊功能的吗?
  179. </div>
  180. <!-- 主持人回答1 -->
  181. <div class="chat-bubble right bg-amber-50 border-amber-200">
  182. <div class="text-xs text-amber-500 mb-1">我 (主持人) · 2分钟前</div>
  183. 是的
  184. </div>
  185. <!-- 玩家问题2 -->
  186. <div class="chat-bubble left">
  187. <div class="text-xs text-gray-500 mb-1">小明 · 1分钟前</div>
  188. 这块手表能预测未来吗?
  189. </div>
  190. <!-- 主持人回答2 -->
  191. <div class="chat-bubble right bg-amber-50 border-amber-200">
  192. <div class="text-xs text-amber-500 mb-1">我 (主持人) · 1分钟前</div>
  193. 是的
  194. </div>
  195. <!-- 玩家问题3 -->
  196. <div class="chat-bubble left">
  197. <div class="text-xs text-gray-500 mb-1">小红 · 刚刚</div>
  198. 手表预测了他的死亡?
  199. </div>
  200. </div>
  201. <!-- 快速回答按钮 -->
  202. <div class="flex flex-wrap gap-2 mt-3">
  203. <button class="bg-amber-100 text-amber-700 text-sm py-1 px-3 rounded-full">是的</button>
  204. <button class="bg-gray-100 text-gray-700 text-sm py-1 px-3 rounded-full">不是</button>
  205. <button class="bg-gray-100 text-gray-700 text-sm py-1 px-3 rounded-full">相关</button>
  206. <button class="bg-gray-100 text-gray-700 text-sm py-1 px-3 rounded-full">不相关</button>
  207. </div>
  208. <!-- 回答输入框 -->
  209. <div class="mt-3 flex">
  210. <input type="text" class="app-input flex-1" placeholder="输入回答...">
  211. <button class="bg-amber-500 text-white ml-2 px-3 py-2 rounded-md">
  212. <i class="fas fa-paper-plane"></i>
  213. </button>
  214. </div>
  215. </div>
  216. <!-- 游戏控制按钮 -->
  217. <div class="p-3 sticky bottom-0 bg-white border-t border-gray-200">
  218. <div class="flex items-center justify-between mb-2">
  219. <button class="bg-amber-500 text-white rounded-md text-sm px-3 py-1.5 flex items-center">
  220. <i class="fas fa-lightbulb mr-1"></i> 揭示线索
  221. </button>
  222. <button class="bg-amber-500 text-white rounded-md text-sm px-3 py-1.5 flex items-center">
  223. <i class="fas fa-trophy mr-1"></i> 结束游戏
  224. </button>
  225. </div>
  226. <!-- 道具购买区 -->
  227. <div class="bg-blue-50 rounded-lg p-2 mb-2 border border-blue-200">
  228. <div class="flex justify-between items-center">
  229. <div class="flex items-center">
  230. <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center mr-2">
  231. <i class="fas fa-palette text-blue-500"></i>
  232. </div>
  233. <div>
  234. <div class="text-sm font-medium">游戏主题</div>
  235. <div class="text-xs text-gray-500">解锁多种主题内容</div>
  236. </div>
  237. </div>
  238. <button class="bg-blue-500 text-white text-xs py-1 px-2 rounded-md" id="openPropsBtn">
  239. 更换主题
  240. </button>
  241. </div>
  242. </div>
  243. <!-- 道具弹窗 -->
  244. <div id="propsModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden z-50">
  245. <div class="bg-white w-11/12 rounded-lg max-h-[80vh] overflow-y-auto">
  246. <div class="p-3 border-b border-gray-200 flex justify-between items-center sticky top-0 bg-white">
  247. <h3 class="font-bold">游戏主题</h3>
  248. <button id="closePropsBtn" class="text-gray-500">
  249. <i class="fas fa-times"></i>
  250. </button>
  251. </div>
  252. <div class="p-3">
  253. <div class="space-y-3">
  254. <!-- 主题包 -->
  255. <div class="flex items-center p-2 border border-gray-200 rounded-md bg-amber-50 border-amber-200">
  256. <div class="flex-shrink-0 w-10 h-10 bg-amber-100 rounded-md flex items-center justify-center mr-3">
  257. <i class="fas fa-bookmark text-amber-500"></i>
  258. </div>
  259. <div class="flex-1">
  260. <div class="flex justify-between">
  261. <div class="text-sm font-medium">经典解谜</div>
  262. <div class="text-xs text-amber-600">免费</div>
  263. </div>
  264. <div class="text-xs text-gray-500">基础主题,包含多种经典谜题</div>
  265. </div>
  266. <div class="text-xs bg-amber-500 text-white py-1 px-2 rounded-md">已解锁</div>
  267. </div>
  268. <div class="flex items-center p-2 border border-gray-200 rounded-md bg-white relative">
  269. <div class="flex-shrink-0 w-10 h-10 bg-amber-100 rounded-md flex items-center justify-center mr-3">
  270. <i class="fas fa-ticket-alt text-amber-500"></i>
  271. </div>
  272. <div class="flex-1">
  273. <div class="flex justify-between">
  274. <div class="text-sm font-medium">环球影城</div>
  275. <div class="text-xs text-amber-600">20元/小时</div>
  276. </div>
  277. <div class="text-xs text-gray-500">包含多个环球影城主题谜题</div>
  278. </div>
  279. <button class="text-xs bg-amber-500 text-white py-1 px-2 rounded-md">解锁</button>
  280. <div class="absolute -top-1 -right-1 bg-red-500 text-white text-xs px-1.5 py-0.5 rounded-full">新</div>
  281. </div>
  282. <div class="flex items-center p-2 border border-gray-200 rounded-md bg-white">
  283. <div class="flex-shrink-0 w-10 h-10 bg-amber-100 rounded-md flex items-center justify-center mr-3">
  284. <i class="fas fa-hat-wizard text-amber-500"></i>
  285. </div>
  286. <div class="flex-1">
  287. <div class="flex justify-between">
  288. <div class="text-sm font-medium">迪士尼奇幻</div>
  289. <div class="text-xs text-amber-600">15元/小时</div>
  290. </div>
  291. <div class="text-xs text-gray-500">迪士尼主题相关谜题</div>
  292. </div>
  293. <button class="text-xs bg-amber-500 text-white py-1 px-2 rounded-md">解锁</button>
  294. </div>
  295. <div class="flex items-center p-2 border border-gray-200 rounded-md bg-white">
  296. <div class="flex-shrink-0 w-10 h-10 bg-amber-100 rounded-md flex items-center justify-center mr-3">
  297. <i class="fas fa-dragon text-amber-500"></i>
  298. </div>
  299. <div class="flex-1">
  300. <div class="flex justify-between">
  301. <div class="text-sm font-medium">奇幻冒险</div>
  302. <div class="text-xs text-amber-600">12元/小时</div>
  303. </div>
  304. <div class="text-xs text-gray-500">奇幻世界主题谜题</div>
  305. </div>
  306. <button class="text-xs bg-amber-500 text-white py-1 px-2 rounded-md">解锁</button>
  307. </div>
  308. <div class="mt-3 py-2 text-center border-t border-gray-200">
  309. <div class="text-xs text-gray-500">主题随时可切换,计费按使用时长计算</div>
  310. </div>
  311. </div>
  312. </div>
  313. </div>
  314. </div>
  315. </div>
  316. </div>
  317. <!-- 引入底部导航栏 -->
  318. <iframe src="../components/nav-bar.html" frameborder="0" scrolling="no" style="width:100%; height:50px; overflow:hidden; position:fixed; bottom:0;"></iframe>
  319. </div>
  320. <script>
  321. document.addEventListener("DOMContentLoaded", function() {
  322. // 道具弹窗控制
  323. const openPropsBtn = document.getElementById('openPropsBtn');
  324. const closePropsBtn = document.getElementById('closePropsBtn');
  325. const propsModal = document.getElementById('propsModal');
  326. openPropsBtn.addEventListener('click', function() {
  327. propsModal.classList.remove('hidden');
  328. });
  329. closePropsBtn.addEventListener('click', function() {
  330. propsModal.classList.add('hidden');
  331. });
  332. // 点击弹窗外部关闭
  333. propsModal.addEventListener('click', function(e) {
  334. if (e.target === propsModal) {
  335. propsModal.classList.add('hidden');
  336. }
  337. });
  338. });
  339. </script>
  340. </body>
  341. </html>