經典的迷宮彈珠遊戲是一款木製傾斜玩具,玩家用手旋轉一個平面迷宮,讓鋼珠越過坑洞與牆面滾向出口,最早由 BRIO 於 1946 年發行,是一款考驗肢體技巧的單人遊戲。Tilt Ball Maze 是一款瀏覽器版的迷宮彈珠遊戲,保留了同樣的核心目標——帶領一顆球從起點走到終點,不掉進任何坑洞——但將連續的實體傾斜轉換為精準的單格數位步伐,讓每一個動作都可被稽核、每一座迷宮都是固定的,並且完成全部五個原版的 5 乘 5 棋盤就能獲得正好 1,000 分。在這款數位迷宮彈珠遊戲中,傾斜(tilt)一詞僅用於描述方向控制的隱喻:瀏覽器並不會讀取陀螺儀、加速度計、裝置角度或任何其他硬體感測器。取而代之的是,四個螢幕上的方向按鈕與四個方向鍵模擬傾斜動作,每次按下都將球移動正好一個基本方向格子。因為每一步都是原子化的,從同一個座標往同一個方向移動,永遠會產生相同的下一個狀態,這就是為什麼路線可以被重播、稽核並獨立驗證,而不是只能近似推估。

從木製傾斜盒到確定性的數位迷宮
實體迷宮彈珠遊戲吸引人之處在於,每一次傾斜都會以無法預測的方式改變彈珠的軌跡:稍微傾斜太多就會掉進坑洞,稍微太輕又會在牆邊停滯。這種連續的物理特性,正是讓真正的迷宮彈珠遊戲成為考驗動作控制而非規劃能力的原因。數位版本失去了手感的趣味,但獲得了木製玩具無法提供的三項特性。第一,每一次輸入都是固定的單格步伐,所以球永遠不會一次滾過多格、永遠不會加速,也永遠不會取決於玩家按住傾斜的時間長短。第二,每一座迷宮的幾何配置都是原創的,並以固定資料的形式儲存,因此五個棋盤的牆面、坑洞、起點與終點都是可重現且可驗證的。第三,計分是精確的:完成一座迷宮永遠獎勵 200 分,全部五座都完成則正好累計 1,000 分。
這個取捨是刻意的。尋找配備鋼珠的木製迷宮彈珠遊戲的玩家應該了解,這款數位版本比較接近逐步規劃的解謎遊戲,而不是考驗手感的靈巧玩具。任何喜歡在實際行動前先規劃迷宮彈珠遊戲路線的人,都會認出同樣的解題姿態:先閱讀棋盤、規劃一條固定的路徑,等到下一步已被證明安全時才傾斜。從實體滾動轉變為離散的單格步伐,正是讓迷宮彈珠遊戲能夠在手機螢幕、桌上型鍵盤、輔助開關或較慢的裝置上遊玩,卻無須更改規則的原因。
單格步伐規則如何影響每一個動作
這款迷宮彈珠遊戲的定義規則是:按一次等於走一格。沒有滾動、沒有滑行、也沒有動量需要管理。每一次方向鍵或觸控按鈕的輸入,都會執行一次模擬傾斜,目標是球當前座標的正上方、正下方、正左方或正右方那一格。如果該格是可通行的格子,球就移動一步,已完成的路徑會新增這個座標。如果目標是牆、坑洞,或位於 5 乘 5 棋盤之外,則該步伐會以原子化的方式失敗。
原子化的失敗意味著四件事同時發生:球停留在原本的位置、已完成的路徑不會增長、成功移動次數不會增加、分數保持不變。這種單步確定性,正是讓迷宮彈珠遊戲能在觸控螢幕、較慢的裝置、輔助科技下,以及在自動化測試中保持可重複性的原因——同樣的輸入永遠會產生同樣的結果,與裝置速度或輸入方式無關。
牆與坑洞在棋盤上有明顯的視覺區別:井字號代表牆、O 代表坑洞、END 代表終點、星號代表已包含在完成路徑中的格子、BALL 代表當前的行進球。可遊玩的幾何配置並不僅依賴顏色,因此不論顯示設定或色彩設定檔為何,棋盤都能以同樣的方式傳達資訊。棋盤旁的狀態文字隨時顯示當前的列與行、成功移動次數、相異失敗次數、最後一次失敗的類型、關卡數與分數。
如何闖完五個固定迷宮
- 在桌上型或行動裝置的瀏覽器中開啟 Tilt Ball Maze,找到可見的 5 乘 5 棋盤、四個方向按鈕,以及顯示當前列、行、成功移動次數、相異失敗次數、關卡數與分數的狀態文字。
- 在傾斜之前先閱讀佈局:確認 BALL 起點格、END 終點格、每一格井字號的牆,以及每一個 O 坑洞。除了可見的井字號格外,也應將棋盤邊緣視為牆,因為越過任何邊界同樣算是一次牆面碰撞。
- 選擇鍵盤上的一個方向鍵,或按下螢幕上的上、下、左、右按鈕,進行一次固定的單格傾斜。規劃第一步時,請確認目的地是可通行的格子——不是牆、不是坑洞,也不能超出棋盤。
- 如果傾斜落在可通行的格子上,球就前進一個座標,該格新增一個星號至路徑中,成功移動次數加一。如果傾斜被擋住,球會留在原地,分數、路徑與移動次數在該步中保持凍結。
- 持續一次一格地傾斜,直到球抵達 END。該迷宮會立即獎勵正好 200 分,並在新關卡自己的起點開啟下一關,同時重置新棋盤的路徑與移動次數,但保留總分與已完成的關卡數。
- 重複進行五個原版迷宮,在任何單一關卡上避免出現第二種不同的失敗。完成第五關後,最終棋盤會凍結並顯示其完成路徑,分數顯示為正好 1,000。
碰撞類型、失敗簽章與雙重錯誤的死鎖
這款迷宮彈珠遊戲中每一次被擋下的傾斜,都會產生一個正規化的失敗簽章,由四項事實組成:當前關卡、球的精確座標、正規化方向,以及碰撞對象是牆還是坑洞。這個簽章會忽略格式上的差異,例如周圍的空白字元、"ArrowLeft" 與 "left" 的差別,以及可見的傾斜別名,因此永遠會被正規化為四個內部方向之一。這就是為什麼從同一格對同一障礙物按兩次同樣的方向鍵,並不會再消耗一次相異失敗。
從同一座標重複完全相同的失敗傾斜會被去重:系統會記住這次紀錄,但不會將其算作第二次相異失敗。在同一座標上發生不同的失敗——例如先前是上方的坑洞,這次是下方的牆——會產生第二個獨特的簽章,並立即讓該回合陷入死鎖。一旦死鎖,所有方向按鈕與狀態轉換都會凍結,直到 Restart 重建出原本的開局狀態為止。未知指令、空值、非字串值、完成狀態與死鎖狀態全都是原子的空操作,因此一旦棋盤被封存,就沒有任何東西能夠破壞它。
第一座迷宮刻意讓玩家在不必重設的情況下測試這項規則。從起點格向左傾斜越過邊界,會記錄一次牆面碰撞;向上傾斜則會碰到一個坑洞。這兩種失敗類型都可以在一步之內達成,因此在對該迷宮彈珠遊戲規劃路線之前,可以先演練並觀察雙重相異失敗所造成的死鎖。
五個原版迷宮,皆具獨立驗證的最短路徑
這款迷宮彈珠遊戲中全部五個棋盤的最短路徑,都已由一個私有的廣度優先搜尋獨立重新計算,該搜尋將牆與坑洞視為不可通行的格子。這個預檢程式擁有每一個固定資料的逐字副本,並透過其自身的碰撞分類器,逐字重播逐字的安全路線,而不會呼叫產品端的 reducer。同一條路線接著會透過產品狀態重播,這就是全部五座迷宮的最短距離與精確可完成性獲得端對端驗證的方式。
| 迷宮 | 已驗證的最短距離 | 完成時獲得的分數 |
|---|---|---|
| 第 1 關 | 8 個固定步伐 | 200 |
| 第 2 關 | 8 個固定步伐 | 200 |
| 第 3 關 | 8 個固定步伐 | 200 |
| 第 4 關 | 8 個固定步伐 | 200 |
| 第 5 關 | 6 個固定步伐 | 200 |
| 總計 | 38 個固定步伐 | 1,000 |
前四個棋盤每個都需要正好八次原子傾斜才能完成,第五關則是更緊湊的六步路線。完成任何一座迷宮都會立即獎勵 200 分,因此全部五座都完成時,最終分數必然正好是 1,000。成功移動次數與完成路徑會在每一座新迷宮重置;只有總分與已完成的關卡數會延續下去。在抵達最後一個 END 之後,最終棋盤會保持凍結,並顯示其完成路徑。
無障礙設計、控制方式與裝置上的遊玩體驗
這款迷宮彈珠遊戲的控制方式刻意設計得明確且穩定。四個原生按鈕構成一個方向鍵區,觸控互動高度至少有 44 像素,而可取得焦點的遊戲區域可直接接收四個方向鍵。鍵盤處理程序的範圍限定在可取得焦點的區域內,而不是全域地掛載於瀏覽器,這保留了清晰的焦點邊界,並防止多餘的方向鍵輸入捲動頁面。在焦點變更後,沒有任何計時器會繼續移動,因此玩家掌控每一次傾斜的節奏。
棋盤旁的狀態文字會回報當前的列與行、成功移動次數、相異失敗次數、最後一次失敗的類型、關卡數與分數,並包覆在一個溢位保護機制內,讓版面在 390 像素的視窗中仍能保持完整。無障礙的格子標籤僅標示可見的列、行與棋盤角色,這讓迷宮彈珠遊戲能與會朗誦結構化格子的螢幕閱讀器相容。原生按鈕元素的標準 Enter 與 Space 行為也予以保留,以利輔助使用者。
所有內容都在瀏覽器中以本機方式作為用戶端遊戲執行。方向選擇、路徑、碰撞歷史與分數都保留在裝置上;不會上傳任何資料進行處理,也不需要帳號。Restart 會從頭完整重建開局狀態,而不是變更當前物件,因此永遠會與全新啟動的工作階段相符,並還原至第一關、原本的起點座標、零次成功移動、一格長的完成路徑、無失敗簽章、無最後一次失敗、零個已完成的關卡、零分,以及可操作的控制器。共用的遊戲外殼還提供本機最佳分數行為、確定性的 Restart,以及用於快速切換情境的 Boss Key。
偏好深入走過每一條已驗證安全路線的玩家,可以參考專屬指南 Ball Maze Game:五座 5x5 傾斜迷宮通往 1,000 分。想要嘗試具備多層樓板切換、而非單格傾斜的迷宮導航挑戰的讀者,則可探索 3D Labyrinth Game:穿梭五座多樓層迷宮 作為互補的挑戰。