Tilt Ball Maze 是一款五關的彈珠迷宮遊戲,每一次按下方向鍵或點按都會讓球在一個 5 乘 5 方格上精準移動一個基本方向格子,而在全部五個原始迷宮中通過終點會得到剛好 1,000 分的精確分數。遊戲把每一次傾斜都視為單一不可分割的步驟,因此球不會滾動、滑行、加速、反彈,也不會依賴經過時間。這個單格規則正是讓 Tilt Ball Maze 對鍵盤使用者、觸控玩家、較慢的裝置以及輔助科技來說都能保持可預測性的原因,同時也是底層測試判定程式用來確認每一條路徑所回放的規則。因為每一步都是確定性的,從相同狀態朝同一方向永遠會產生相同的下一個狀態,這代表你的路線完全可以驗證。遊戲完全不會讀取真實的陀螺儀、加速計、裝置角度或動作權限;「tilt」(傾斜)這個詞指的是方向控制的隱喻,而不是聲稱瀏覽器會測量實體板子的傾斜。所有幾何配置都是產品原創,每一道牆和每一個洞的位置都是固定的,沒有隨機生成或隱藏狀態可供猜測。

ball maze game
彈珠迷宮遊戲:五個 5x5 傾斜迷宮,達到 1,000 分

Tilt Ball Maze 是什麼(以及它不是什麼)

Tilt Ball Maze 是一款以五個原創 5 乘 5 場景為基礎,在瀏覽器中執行的確定性彈珠迷宮遊戲。每個場景都定義了一組固定的開放格、牆格、洞格、一個起點和一個終點。球在每次遊玩時都從同一個座標出發,牆與洞也出現在相同的位置,這代表你看到的幾何配置就是遊戲所測試的幾何配置。

遊戲完全在用戶端執行。不需要帳號,不會上傳路徑進行處理,也不會讀取任何硬體感測器。沒有 3D 板子的旋轉、沒有動量、沒有在焦點切換後仍持續移動球的計時器,也沒有隨機生成的障礙物。方向選擇、路徑、碰撞歷史與分數都只保留在瀏覽器分頁中。

最後這一點對搜尋「ball maze game」這個關鍵字來說很重要。許多結果描述的是 3D 傾斜板或物理驅動的滾動球。Tilt Ball Maze 兩者都不是。它是一款以單格轉換進行的格子解謎遊戲,這也正是本文其餘部分所圍繞的核心差異。

如何遊玩 Tilt Ball Maze

請依照以下精確順序來通過單一關卡,並開始朝 1,000 分的終點邁進。

  1. 打開板子並閱讀可見的標記:BALL 代表主角,# 代表牆,O 代表洞,END 代表終點,* 代表已加入完成路徑的格子。
  2. 選擇一個方向鍵或一個螢幕上的方向按鈕,進行一次固定的上、下、左、右單格移動。
  3. 留意每次按鍵後,方格旁的狀態文字更新:它會顯示目前的行與欄、成功步數、不同失敗次數、上一次的失敗類型、關卡編號,以及你的累計分數。
  4. 如果目標是牆、洞或超出 5 乘 5 板子範圍,該步會以不可分割的方式失敗。球會留在原處,成功步數不增加,完成路徑不變,分數也不變。
  5. 如果目標是開放格,球會精準前進一格,該座標會附加到你的完成路徑中。成功步數會增加一。
  6. 抵達 END 可獲得剛好 200 分,並在新的起點位置解鎖下一個迷宮。成功步數與路徑會為新迷宮重置,而總分與已完成的關卡數會保留下來。
  7. 隨時留意失敗次數。在同一關卡中出現兩種不同的牆或洞錯誤簽章時,遊戲會凍結直到按下 Restart。
  8. 為全部五個原始迷宮重複上述步驟。你的總分會停在剛好 1,000 分。

牆、洞與不可分割步驟規則

牆與洞的差異很重要,因為它們是不同的失敗類型。進入 # 格或踏出 5 乘 5 板子邊緣都會記錄為牆碰撞。踩入 O 格則記錄為洞碰撞。在任一情況下,該步會以不可分割的方式失敗,該次嘗試會讓位置、路徑、成功步數與分數維持在按鍵之前的狀態。

單格步驟規則至關重要。單次傾斜絕對不會滾動到撞牆為止、不會滑過多格、不會加速、不會反彈,也不會依賴經過時間。這種固定轉換讓結果保持可預測:從相同狀態朝同一方向永遠會產生相同的下一個狀態,無論你按鍵速度是快是慢,是在手機、桌面電腦上,或透過輔助科技操作。

失敗簽章已經過正規化,因此從同一座標重複相同的失敗方向會被去重,不會消耗第二個不同的失敗額度。然而,不同的失敗會建立第二個簽章,並使該回合陷入死鎖。第一關刻意設計成可從起始格同時觸及兩種失敗類型:向左超出邊界會記錄為牆碰撞,而向上移動則會踩到洞。這樣的設計可在不破壞或重置球位置的情況下,測試兩種不同失敗所造成的死鎖。

若想更廣泛了解牆碰撞在鍵盤迷宮遊戲中如何與計分互動,請參考 牆碰撞會降低迷宮遊戲的分數嗎?,該文涵蓋了另一款格子遊戲中的相關機制。

1,000 分路線與經驗證的最短路徑

五個原始迷宮共用一套精確的分數時程與精確的最短步數。在任何一關通過終點都會剛好增加 200 分,而完成全部五關一定會得到剛好 1,000 分的總分。下表概述了每個關卡經驗證的最短路徑,以及累計分數隨著關卡推進的成長方式。

關卡 最短路徑(固定步數) 通過終點獲得的分數 關卡結束後的累計分數
1 8 200 200
2 8 200 400
3 8 200 600
4 8 200 800
5 6 200 1,000
總計 38 1,000 1,000

五個最短距離 8、8、8、8 和 6,已由測試判定程式所擁有的專屬廣度優先搜尋驗證確認。判定程式將牆與洞視為阻擋,在不呼叫產品移動 reducer 的情況下,重新計算通往每個終點的最短可達距離,然後在判定程式與產品狀態中,逐字回放這條安全路線。這種雙層檢查確認了五個關卡皆可完成、確認了最短步數,並確認了在通往 1,000 分過程中的精確 200 分增量。

通過第五個終點後,最終板子會保持凍結,並顯示已完成的路徑。更快完成並沒有額外獎勵,採取比最短路徑更多的步數也不會受到懲罰,而且在已發布的五個迷宮中無法獲得超過 1,000 分的分數。

兩次失敗死鎖、Restart 與重置內容

一旦回合陷入死鎖,所有方向按鈕與狀態轉換都會凍結,直到按下 Restart。Restart 並不是修改目前物件的一部分,而是重建完整的起始狀態。Restart 之後,第一關會被還原,原始起點座標會被還原,成功步數回到零,完成路徑回到起點的單格路徑,失敗簽章會被清除,上一次失敗會被清除,已完成關卡數回到零,分數回到零,控制項也會重新啟用。

自動化測試會直接將 Restart 的輸出與全新的初始狀態進行比對,因此重建的結果與全新分頁完全一致,逐位元皆相同。未知的指令、空值、非字串值、已完成狀態的輸入,以及死鎖狀態的輸入,都會被視為不可分割的無操作;它們既不會移動球,也不會消耗任何失敗額度。

控制項、輔助功能與隱私

控制項刻意設計得明確且穩定。四個原生按鈕構成方向鍵盤,而可聚焦的遊戲區域可接受四個方向鍵。鍵盤處理範圍限定於該區域,而不是全域附加到瀏覽器視窗,這保留了清晰的焦點邊界。沒有計時器會在焦點切換後繼續移動球,因此切換分頁後再切回來不會推進遊戲進度。

每個方向按鈕至少有 44 像素的觸控互動高度,而原生按鈕元素提供標準的 Enter 或 Space 啟動方式。可存取的格子標籤僅標示可見的行、欄與板子角色,因此螢幕閱讀器接收到的幾何資訊與玩家所見相同。視覺化的板子在不依賴純色彩的情況下傳達所有可遊玩的幾何資訊,這讓遊戲在高對比模式下仍可使用。

由於遊戲永遠不會讀取真實的陀螺儀、加速計、裝置角度、動作權限或硬體感測器,你可以在桌面電腦、平板或手機上遊玩完整的五個迷宮,而無需授予動作存取權限。方向選擇、路徑、碰撞歷史與分數都只保留在你的瀏覽器中。包覆遊戲的共用 GameShell 也提供分數處理、本機最佳分數行為、確定性的 Restart,以及在需要快速清除畫面時可使用的 Boss Key。

如果你想在挑戰死鎖機制之前廣泛練習迷宮導航,指南 如何避免在迷宮遊戲中犯下常見錯誤 會帶你了解讓單步格子遊戲更容易通過的那種事前規劃。