123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>海龟汤 - 玩家视图</title>
- <!-- Tailwind CSS -->
- <script src="https://cdn.tailwindcss.com"></script>
- <!-- FontAwesome -->
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
- <!-- 自定义样式 -->
- <link rel="stylesheet" href="../css/custom.css">
- <style>
- .app-content {
- padding-bottom: 60px; /* 为底部导航栏留出空间 */
- }
-
- .player-theme {
- --player-primary: #0EA5E9;
- --player-secondary: #EFF6FF;
- --player-accent: #0284C7;
- }
-
- .player-header {
- background-color: var(--player-primary);
- color: white;
- }
-
- .chat-container {
- max-height: 120px;
- overflow-y: auto;
- }
-
- .turtle-soup-clue {
- padding: 10px;
- border-radius: 6px;
- background-color: white;
- margin-bottom: 8px;
- border-left: 3px solid var(--player-primary);
- }
-
- .player-badge {
- background-color: var(--player-primary);
- color: white;
- padding: 2px 8px;
- border-radius: 9999px;
- font-size: 0.75rem;
- }
-
- .progress-bar {
- height: 6px;
- width: 100%;
- background-color: #e2e8f0;
- border-radius: 999px;
- overflow: hidden;
- }
-
- .progress {
- height: 100%;
- background-color: var(--player-primary);
- border-radius: 999px;
- transition: width 0.5s ease;
- }
-
- .puzzle-card {
- background-color: var(--player-secondary);
- border-radius: 8px;
- padding: 16px;
- margin-bottom: 16px;
- border: 1px solid rgba(14, 165, 233, 0.2);
- }
-
- .puzzle-title {
- font-weight: 600;
- color: var(--player-primary);
- margin-bottom: 8px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
-
- .keywords-container {
- background-color: #dbeafe;
- border-radius: 6px;
- padding: 10px;
- margin-top: 12px;
- border-left: 3px solid #3b82f6;
- }
- </style>
- </head>
- <body class="player-theme">
- <div class="iphone-frame">
- <!-- 引入状态栏 -->
- <iframe src="../components/status-bar.html" frameborder="0" scrolling="no" style="width:100%; height:44px; overflow:hidden;"></iframe>
-
- <!-- 导航栏 -->
- <div class="app-navbar player-header">
- <div class="title">海龟汤 - 玩家</div>
- <div class="right-button text-sm">
- <span class="player-badge">玩家</span>
- </div>
- </div>
-
- <!-- 内容区域 -->
- <div class="app-content">
- <!-- 游戏状态 -->
- <div class="bg-sky-100 p-3 text-center">
- <div class="flex items-center justify-center">
- <i class="fas fa-hourglass-half text-sky-500 mr-2"></i>
- <span class="text-sky-700 font-medium">游戏进行中</span>
- </div>
- <div class="text-xs text-sky-700 mt-1">已进行: 12分钟 · 玩家模式</div>
- </div>
-
- <!-- 谜题信息 -->
- <div class="m-3">
- <div class="puzzle-card">
- <div class="puzzle-title">
- <div class="flex items-center">
- <i class="fas fa-puzzle-piece mr-2"></i>
- 神秘的手表
- </div>
- <div class="text-xs px-2 py-0.5 bg-sky-100 text-sky-600 rounded-full">难度: 中等</div>
- </div>
-
- <!-- 汤面(玩家可见) -->
- <div class="p-3 bg-white rounded-md mb-3 shadow-sm">
- <p class="text-sm">
- 一个男人收到了一块神秘的手表,戴上后就再也无法取下来。一周后,他自杀了。为什么?
- </p>
- </div>
-
- <!-- 游戏进度 -->
- <div class="mt-3">
- <div class="flex justify-between text-xs text-gray-500 mb-1">
- <span>解谜进度</span>
- <span>40%</span>
- </div>
- <div class="progress-bar">
- <div class="progress" style="width: 40%"></div>
- </div>
- </div>
- </div>
- </div>
-
- <!-- 已揭示线索列表 -->
- <div class="m-3">
- <div class="flex justify-between items-center mb-2">
- <h3 class="font-medium flex items-center">
- <i class="fas fa-key text-sky-500 mr-1"></i> 已揭示线索
- </h3>
- <div class="text-xs px-2 py-0.5 bg-sky-100 text-sky-600 rounded-full">2/5已揭示</div>
- </div>
-
- <div class="space-y-2">
- <!-- 线索1 -->
- <div class="turtle-soup-clue">
- <div class="flex justify-between items-center">
- <span class="text-xs text-sky-600 font-medium">线索1</span>
- <span class="text-xs text-gray-500">12:05揭示</span>
- </div>
- <p class="text-sm mt-1">这块手表有特殊功能,不是普通手表。</p>
- </div>
-
- <!-- 线索2 -->
- <div class="turtle-soup-clue">
- <div class="flex justify-between items-center">
- <span class="text-xs text-sky-600 font-medium">线索2</span>
- <span class="text-xs text-gray-500">12:08揭示</span>
- </div>
- <p class="text-sm mt-1">手表可以显示未来将发生的事情。</p>
- </div>
-
- <!-- 关键词区域 -->
- <div class="keywords-container">
- <div class="flex justify-between items-center">
- <span class="text-xs text-blue-600 font-medium flex items-center">
- <i class="fas fa-search mr-1"></i> 关键词提示
- </span>
- <span class="text-xs text-gray-500">12:15购买</span>
- </div>
- <div class="flex flex-wrap gap-1 mt-1">
- <span class="text-xs bg-blue-100 text-blue-700 px-2 py-0.5 rounded-full">预知</span>
- <span class="text-xs bg-blue-100 text-blue-700 px-2 py-0.5 rounded-full">命运</span>
- <span class="text-xs bg-blue-100 text-blue-700 px-2 py-0.5 rounded-full">恐惧</span>
- </div>
- </div>
- </div>
- </div>
-
- <!-- 游戏控制和道具区域 -->
- <div class="p-3 sticky bottom-0 bg-white border-t border-gray-200">
- <!-- 结束游戏后显示的操作区域 -->
- <div class="bg-green-50 rounded-lg p-3 mb-2 border border-green-200 hidden" id="gameEndedOptions">
- <div class="flex justify-between items-center">
- <div>
- <div class="text-sm font-medium text-green-700">游戏已结束</div>
- <div class="text-xs text-gray-500">等待主持人开始新游戏</div>
- </div>
- <button class="bg-sky-500 text-white text-xs py-1.5 px-3 rounded-md flex items-center">
- <i class="fas fa-thumbs-up mr-1"></i> 准备好了
- </button>
- </div>
- </div>
-
- <!-- 道具购买区 -->
- <div class="bg-blue-50 rounded-lg p-2 border border-blue-200">
- <div class="flex justify-between items-center">
- <div class="flex items-center">
- <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center mr-2">
- <i class="fas fa-lightbulb text-blue-500"></i>
- </div>
- <div>
- <div class="text-sm font-medium">解谜助手</div>
- <div class="text-xs text-gray-500">提高解谜效率</div>
- </div>
- </div>
- <button class="bg-blue-500 text-white text-xs py-1 px-2 rounded-md" id="openPropsBtn">
- 解锁道具
- </button>
- </div>
- </div>
- </div>
- </div>
-
- <!-- 道具弹窗 -->
- <div id="propsModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden z-50">
- <div class="bg-white w-11/12 rounded-lg max-h-[80vh] overflow-y-auto">
- <div class="p-3 border-b border-gray-200 flex justify-between items-center sticky top-0 bg-white">
- <h3 class="font-bold">解谜道具</h3>
- <button id="closePropsBtn" class="text-gray-500">
- <i class="fas fa-times"></i>
- </button>
- </div>
-
- <div class="p-3">
- <div class="text-xs text-gray-500 mb-3">
- 解锁道具可以帮助你更快地解开谜题,计费按使用时长计算。
- </div>
-
- <div class="space-y-3">
- <!-- 初级道具 -->
- <div class="flex items-center p-3 border border-gray-200 rounded-md bg-white">
- <div class="flex-shrink-0 w-10 h-10 bg-blue-100 rounded-md flex items-center justify-center mr-3">
- <i class="fas fa-search text-blue-500"></i>
- </div>
- <div class="flex-1">
- <div class="flex justify-between">
- <div class="text-sm font-medium">初级道具 - 关键词</div>
- <div class="text-xs text-blue-600">15元/小时</div>
- </div>
- <div class="text-xs text-gray-500">提示故事关键词,帮助理解故事背景</div>
- </div>
- <button class="text-xs bg-blue-100 text-blue-700 py-1.5 px-2 rounded-md">已购买</button>
- </div>
-
- <!-- 高级道具 -->
- <div class="flex items-center p-3 border border-gray-200 rounded-md bg-white relative">
- <div class="flex-shrink-0 w-10 h-10 bg-indigo-100 rounded-md flex items-center justify-center mr-3">
- <i class="fas fa-key text-indigo-500"></i>
- </div>
- <div class="flex-1">
- <div class="flex justify-between">
- <div class="text-sm font-medium">高级道具 - 关键线索</div>
- <div class="text-xs text-indigo-600">30元/小时</div>
- </div>
- <div class="text-xs text-gray-500">直接揭示一条未公开的关键线索</div>
- </div>
- <button class="text-xs bg-indigo-500 text-white py-1.5 px-2 rounded-md">购买</button>
- <div class="absolute -top-1 -right-1 bg-red-500 text-white text-xs px-1.5 py-0.5 rounded-full">热门</div>
- </div>
-
- <div class="mt-3 py-2 text-center border-t border-gray-200">
- <div class="text-sm font-medium">当前套餐: 初级道具 15元/小时</div>
- <div class="text-xs text-gray-500 mt-1">计时中: 已使用 22分钟,剩余38分钟</div>
- <button class="mt-2 text-xs bg-blue-500 text-white py-1.5 px-3 rounded-md">
- 延长套餐时间
- </button>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <!-- 引入底部导航栏 -->
- <iframe src="../components/nav-bar.html" frameborder="0" scrolling="no" style="width:100%; height:50px; overflow:hidden; position:fixed; bottom:0;"></iframe>
- </div>
-
- <script>
- document.addEventListener("DOMContentLoaded", function() {
- // 道具弹窗控制
- const openPropsBtn = document.getElementById('openPropsBtn');
- const closePropsBtn = document.getElementById('closePropsBtn');
- const propsModal = document.getElementById('propsModal');
-
- openPropsBtn.addEventListener('click', function() {
- propsModal.classList.remove('hidden');
- });
-
- closePropsBtn.addEventListener('click', function() {
- propsModal.classList.add('hidden');
- });
-
- // 点击弹窗外部关闭
- propsModal.addEventListener('click', function(e) {
- if (e.target === propsModal) {
- propsModal.classList.add('hidden');
- }
- });
- });
- </script>
- </body>
- </html>
|