['base' => 36, 'symbol' => '䷀', 'name' => '先秦'], 'han' => ['base' => 60, 'symbol' => '㊐', 'name' => '两汉'], 'tang' => ['base' => 144, 'symbol' => '卍', 'name' => '盛唐'], 'song' => ['base' => 256, 'symbol' => '♖', 'name' => '两宋'] ]; public static function generateEquation($era) { $base = self::ERAS[$era]['base']; $var1 = mt_rand(1, $base-1); $var2 = mt_rand(1, $base-1); $op = array_rand(['⊕','⊗','⊖','◯']); return [ 'equation' => "A ".$op." B ≡ 0 mod ".$base, 'variables' => ['A' => $var1, 'B' => $var2], 'operator' => $op, 'mod' => $base ]; } } // 初始化游戏状态 if (!isset($_SESSION['energy'])) { $_SESSION['energy'] = 100; $_SESSION['time_left'] = 300; $_SESSION['current_era'] = 'preqin'; $_SESSION['symbols'] = []; $_SESSION['start_time'] = time(); } // 处理表单提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['solve'])) { // 解题逻辑 $user_answer = (int)$_POST['answer']; $puzzle = $_SESSION['current_puzzle']; if (validateSolution($user_answer, $puzzle)) { $_SESSION['energy'] += 20; $_SESSION['symbols'][] = TimePuzzle::ERAS[$_SESSION['current_era']]['symbol']; } } elseif (isset($_POST['jump'])) { // 时空跃迁 $_SESSION['energy'] -= 15; $_SESSION['current_era'] = decodeEra($_POST['era_code']); } header('Location: '.$_SERVER['PHP_SELF']); exit; } // 生成新谜题 $_SESSION['current_puzzle'] = TimePuzzle::generateEquation($_SESSION['current_era']); function validateSolution($answer, $puzzle) { $base = $puzzle['mod']; list($a, $b) = array_values($puzzle['variables']); switch ($puzzle['operator']) { case '⊕': $result = ($a + $b) % $base; break; case '⊗': $result = ($a * $b) % $base; break; case '⊖': $result = ($base + $a - $b) % $base; break; case '◯': $result = $a % $b; break; } return ($result % $base) === 0; } function decodeEra($code) { $data = json_decode(base64_decode($code), true); return $data['era'] ?? 'preqin'; } // 动态CSS生成 $eraColors = [ 'preqin' => '#9c2c2c', 'han' => '#2c6b9c', 'tang' => '#9c2c8a', 'song' => '#2c9c4a' ]; ?>

时空方程式 - 纪元

剩余能量: | 收集符号:
时间剩余:

变量值:A = | B =

跃迁选项:

$data): ?>