光線反射謎題要求你在方格上放置鏡子,讓單一光線到達指定的出口邊緣。在 Mirror Reflection Puzzle 中,方格為 5×5,板面是固定的,光線會逐格追蹤,讓你清楚看見自己的預測在何處開始偏離。共有五個關卡,每關都朝更長的路徑推進,而完美通關會剛好得到 1,000 分。正斜線與反斜線方塊會根據等角反射定律讓光線轉向九十度,正如 OpenStax University Physics Volume 3 所述,而空白格則讓光線繼續直行。五個固定板面會從單一轉折逐漸推進到四鏡路徑,因此每個新訊號都要求你在心中記住一條略長的路徑。沒有隨機版面、沒有計時器,也沒有網路請求;整個光線模型完全在你的瀏覽器中本機執行,同樣的五種版面可以無限重玩。

光線反射謎題要求你做什麼
這個類型的每塊板子都有三個可見要素:固定的入口點、標示好的出口邊緣,以及其餘為空、用來放置鏡子的方格。光線從入口進入方格,一次移動一格,沿著四個基本方向之一前進,要嘛從要求的出口離開,要嘛失敗。空白格不會改變光線方向;只有正斜線或反斜線方塊才會改變方向。由於入口和出口位置是固定的,謎題的重點不在於選擇光線從哪裡開始或結束,而在於決定哪些格子該放鏡子,以及每面鏡子該採用哪個方向。
Mirror Reflection Puzzle 把這個概念包裝成五個固定關卡。第一關只要求一次轉向,板面逐步朝更長的路徑推進,直到最後一塊板面要求你同時在腦中記住一條四鏡路徑。板面永遠不會重新洗牌,光線模型也刻意做得精簡:只有四個移動方向、鏡子是理想的四十五度反射鏡,沒有厚度、波長或強度規則。這種精簡正是追蹤器每次按下「Trace ray」時都能給出精準逐格答案的原因,這對於學習而言遠比單純的對錯判定有用得多。
正斜線與反斜線鏡片如何讓光線轉向
兩種鏡片類型表現為互補的反射鏡。正斜線會把向右移動的光線轉為向上、把向上轉為向右、把向左轉為向下、把向下轉為向左。反斜線則進行相反的配對:右變下、下變右、左變上、上變左。兩種方塊都會讓光線剛好旋轉九十度,絕不是四十五度或一百八十度。這個方向規則與標準光學所用的相同(反射角等於入射角),正如 The Physics Classroom 也解釋的那樣,但它是在離散方格上呈現,只允許四個基本移動方向。
你需要牢記的確切對應關係整理如下。
| 入射方向 | 正斜線 (/) 轉為 | 反斜線 (\) 轉為 |
|---|---|---|
| 右 | 上 | 下 |
| 上 | 右 | 左 |
| 左 | 下 | 上 |
| 下 | 左 | 右 |
只要在腦中走過任何一格,記住正斜線「/」看起來像正向的坡度,而反斜線「\」看起來像反向的坡度,就能驗證這個表格。兩種鏡片類型合在一起涵蓋了所有八種可能的(入射方向 × 鏡片類型)組合,而程式碼會在謎題出貨前,先用向量驗證器逐一檢查每一種組合。
如何在五個關卡中遊玩 Mirror Reflection Puzzle
整個互動可以簡化為三個可重複的動作:選一格、選擇鏡片方向、追蹤光線。你可以用滑鼠、觸控螢幕或鍵盤完成每個步驟,因此同一套流程在桌上型電腦、筆電或手機上都適用。
- 在瀏覽器中開啟 Mirror Reflection Puzzle。第一關會載入一個 5×5 的方格、一個標示好的入口格,以及一條光線必須穿過的高亮 OUT 邊緣。
- 點擊或輕觸任何一個方格來選取它。被選取的格子每次按下時,會在空白、正斜線、反斜線、空白之間循環切換。使用鍵盤時,以方向鍵移動選取格,然後輸入 `/`、`\` 或 `0`,分別用來放置正斜線、反斜線,或把格子清回空白。
- 只放置你在這個階段能提出理由的鏡片。空白格不會受到懲罰,而落在主動路徑之外的鏡片也不會影響光線。讓板面保持精簡,有助於之後審視預期的路徑。
- 按下 Trace ray 或 Enter 來執行追蹤器。造訪過的格子會依照光線實際行進的順序逐一亮起,而每個造訪過的格子都會顯示出射方向。
- 在狀態面板中讀取結果。如果追蹤到達 OUT 邊緣,該關通過並剛好獲得 200 分。如果光線從其他任何邊緣離開,會被標記為錯誤邊緣;如果光線以相同的入射方向重複經過同一格,則會被標記為迴圈。
- 調整鏡片並再次追蹤。如果你到達 OUT 邊緣,下一塊板面會自動載入。如果你的版面曾經錯過一次,現在又以另一種方式錯誤,該局就會結束。
- 隨時可以從介面按下 Restart,以空白擺放圖、零失誤和零分數回到第一關。由於遊戲中沒有任何隨機機制,同樣的五種版面會再次載入。
從出口往回推的解題方法
在前期關卡中,正向解題沒有問題,但較長的板面會獎勵逆向推導。從 OUT 邊緣開始,先問光線在離開前的最後一格必須朝哪個方向行進。判斷那一格中的鏡片該用什麼方向,才能從前一格產生該出射方向。逐格重複,直到你重建出來的路徑與自然的入口路徑交會。結果就是一連串正斜線或反斜線的選擇,你可以把它們當作單一假設來擺放並追蹤。
當你正在解題時,要經常且提早追蹤。高亮路徑會顯示你的預測在哪一格開始與現實分歧,這比一個簡單的「錯誤」訊息有用得多。Restart 也是一種學習工具:因為版面永遠不會改變,你可以在第二次重看時仔細研究一條路徑,不用擔心隨機種子會把格子搬動。主動路徑外的鏡片無害,但稀疏的板面更容易審視,因此請移除任何你無法提出理由的方塊。
計分、失誤與凍結的最終狀態
計分刻意保持透明。每個解開的關卡剛好獲得 200 分,五個關卡合計的滿分為剛好 200 × 5 = 1,000 分。失誤是以版面而非按鍵次數計算:一次錯誤的追蹤只有在目前的鏡片擺放與你先前嘗試過的每個錯誤版面都不同時,才會計為一次失誤。再次檢查同一個失敗的版面不會再消耗一次嘗試機會,這移除了單純重試先前錯誤所帶來的懲罰。第二個不同的失敗版面會結束該局。完成與失敗狀態都會凍結,因此多餘的點擊或按鍵無法更改已記錄的結果。
| 事件 | 結果 | 分數變化 |
|---|---|---|
| 光線剛好到達 OUT 邊緣 | 關卡通過,載入下一塊板面 | +200 |
| 光線從任何其他邊緣離開 | 錯誤邊緣失敗,可重試 | 無變化 |
| 光線以相同入射方向重複經過同一格 | 迴圈失敗,可重試 | 無變化 |
| 第二個不同的錯誤版面 | 該局結束,板面凍結 | 分數維持在最後過關的分數 |
| 五個關卡全部通過 | 該局完成 | 剛好 1,000 |
最佳分數會以選用便利功能的形式儲存在瀏覽器的本機儲存空間中。即使該儲存空間無法使用,進行中的遊戲依然能運作,不需要任何帳號、下載或上傳。沒有計時器、沒有隱藏懲罰,也沒有任何會改變規則的第三方圖片或腳本。
光線模型沒有涵蓋的部分
明確說明模型的限制是值得的,這樣你才不會期待那些不屬於謎題一部分的功能。這不是一個精密光學模擬器。它不會模擬鏡片厚度、波長、折射、散射、亮度、偏振、不完美的表面,或任何真實的量測。光線是一種離散實體,沿著四個基本方向之一行進,並以完美的九十度角反射。引用 OpenStax 與 The Physics Classroom 只是為了說明作為方向對應基礎的等角反射規則,而五個板面本身則是原創的遊戲關卡,並非教科書圖表的複製。
實作本身同樣是確定性的。一個純粹的 reducer 儲存鏡片圖,並從預設的入口一次一格地追蹤光線;八個方向對應會用向量驗證器測試;每個關卡都會重玩明確的過關路徑。另外還有獨立的探測函式確認錯誤邊緣中止與迴圈偵測都正確。換句話說,追蹤器的每一個可見行為,包括追蹤在何時與為何停止,都會受到你可以在瀏覽器中重新執行的測試所檢驗,這正是為什麼這個謎題感覺起來比較不像猜測,而比較像一場你能放心完成的稽核。
如果你正在權衡選項,Creature Fusion Generator: 5 Briefs, 1,000 Points 有詳細說明。
如果你正在權衡選項,Beat Tap Music Game: Clear Five Charts for 1,000 Points 有詳細說明。