Spaces:
Running
Running
| <html lang="zh-TW"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>序章:勇者的召喚 - 數學魔法王國:平方之旅</title> | |
| <link rel="stylesheet" href="style.css"> | |
| </head> | |
| <body class="prologue-page"> | |
| <!-- 音效元素 --> | |
| <audio id="bgm" loop> | |
| <source src="Theme.mp3" type="audio/mpeg"> | |
| </audio> | |
| <div class="game-container"> | |
| <div class="prologue-container"> | |
| <h1 class="prologue-title">序章:勇者的召喚</h1> | |
| <div class="prologue-content"> | |
| <p>你被王國的智者召喚到王宮,得知自己是預言中的「數學勇者」。</p> | |
| <p>智者解釋道:「平方之力分為三個層次:『直覺感知』、『轉換變化』和『展開融合』。你必須前往王國的三個神聖地點,通過試煉獲得這三種力量。」</p> | |
| <p>智者給了你一張魔法地圖,上面標記著三個地點:「平方之泉」、「變換山谷」和「展開之塔」。</p> | |
| <p>「記住,勇者,」智者嚴肅地說,「這不僅是一場考驗,更是一段成長之旅。每一關的力量都是下一關的基礎,你必須按順序完成試煉。」</p> | |
| </div> | |
| <div class="navigation-buttons"> | |
| <button id="back-to-home" class="nav-btn">返回首頁</button> | |
| <button id="continue-journey" class="nav-btn">王國地圖</button> | |
| </div> | |
| <!-- 音樂來源註記 --> | |
| <div class="music-credit"> | |
| <p>背景音樂:由Suno製作</p> | |
| <button id="toggle-bgm" class="small-btn">音樂開/關</button> | |
| </div> | |
| </div> | |
| </div> | |
| <script src="prologue.js"></script> | |
| <!-- 音樂連續播放控制 --> | |
| <script> | |
| // 嘗試從localStorage獲取音樂播放狀態和時間 | |
| document.addEventListener('DOMContentLoaded', function() { | |
| const bgmAudio = document.getElementById('bgm'); | |
| const toggleBgmBtn = document.getElementById('toggle-bgm'); | |
| // 檢查是否有保存的音樂狀態 | |
| const musicPlaying = localStorage.getItem('musicPlaying') === 'true'; | |
| const musicTime = parseFloat(localStorage.getItem('musicTime') || '0'); | |
| if (musicPlaying) { | |
| // 設置音樂播放位置 | |
| bgmAudio.currentTime = musicTime; | |
| bgmAudio.play().catch(e => console.log('自動播放被阻止:', e)); | |
| toggleBgmBtn.textContent = '音樂關'; | |
| } else { | |
| toggleBgmBtn.textContent = '音樂開'; | |
| } | |
| // 定期保存音樂播放位置 | |
| setInterval(function() { | |
| if (!bgmAudio.paused) { | |
| localStorage.setItem('musicTime', bgmAudio.currentTime.toString()); | |
| localStorage.setItem('musicPlaying', 'true'); | |
| } else { | |
| localStorage.setItem('musicPlaying', 'false'); | |
| } | |
| }, 1000); | |
| // 頁面離開前保存音樂狀態 | |
| window.addEventListener('beforeunload', function() { | |
| localStorage.setItem('musicTime', bgmAudio.currentTime.toString()); | |
| localStorage.setItem('musicPlaying', !bgmAudio.paused ? 'true' : 'false'); | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> | |