在 3 乘 3 的水管拼圖中,旋轉剩餘合法方位最少的角落或邊緣方塊來決定下一步,然後在每次按下 Space 或 Enter 後查看即時的鬆開端點數量,確認每一步都能在不產生循環的情況下減少錯誤。Lizely 的 水管拼圖中,每個方塊都固定在自己的格子裡,只有方位會改變,所以任何時刻的決策不是要把水管放哪裡,而是當前選中方塊在四條公開規則下還剩下哪些合法旋轉。每次旋轉後都會自動檢查這四條規則:開口不得指向格子邊界之外、每個開口必須與鄰居方塊上的對應開口相接、九個方塊必須屬於同一個連通分量、且該分量不能含有循環。這個 3 乘 3 棋盤上所公布的目標是一條由九個節點和恰好八條對應邊所組成的蛇形網路,因此任何會產生第九條邊或將網路切開的動作,即使通過了邊界檢查,都應該跳過。
Lizely 的棋盤使用固定的初始排列、固定的計分公式以及固定的目標網路,這就是為什麼從所公布的起始方位開始,一段可重複的 18 次順時針旋轉序列就能解開它。下面的內容會詳細解釋每條規則,讓你有把握選擇下一次旋轉、方塊的閱讀順序,以及如何解讀棋盤在每次按下按鍵後所顯示的回饋。

在 3 乘 3 的水管拼圖中,「選擇你的下一步」代表什麼
水管拼圖屬於連線遊戲家族,又稱為 Net、FreeNet 或 NetWalk,3 乘 3 的棋盤遵循 Simon Tatham 的可攜式謎題集中維護的規則,以及獨立的 Puzzolve 指南。玩家在任何時刻面對的唯一決策,就是當前選中方塊最多四個方位中哪一個仍然合法。沒有交換、沒有滑動、方塊之間也不能移動。每個方塊都留在原本的位置,只有旋轉角度會改變。
這也改變了決策的形貌。你不是在空格上放置一塊拼圖,而是在縮小方位範圍,直到四個條件之一變成不成立。棋盤在每次旋轉後都會執行驗證,所以選擇下一步的正確方式,是觀察它給你的回饋,而不是預先規劃好幾步。每一次旋轉不是讓鬆開端點數變少,就是保持不變,或是把它推高。動作之後棋盤變得越鬆散,就越可能代表你選錯了方位。
Lizely 的實作更進一步固定了這一點。它沒有使用隨機產生器,所以每次載入時的初始開口排列都相同。同時它也採用固定的計分公式和固定的目標網路——也就是產品合約中所描述的蛇形——這表示正確的旋轉序列對任何想要驗證路線的人來說都是可重現的。
瀏覽器在每次旋轉後執行的四項檢查
每次按下 Space 或 Enter 都會觸發四項自動檢查,理解每一項是預測下一步是否會被接受的唯一方法。棋盤以四位元遮罩儲存每根水管:1 表示上、2 表示右、4 表示下、8 表示左,旋轉則將該遮罩順時針位移,而格子位置和開口數量都不變。
第一項檢查是對外的開口。如果有位元指向落在 3 乘 3 棋盤邊界之外的行或列,狀態列就會把該開口算成一個鬆開端點。第二項檢查確認對應關係:每個開口都必須面對一個鄰居,且鄰居的對側帶有相符的位元。面向牆壁但沒有回頭開口的開口會被記錄為錯誤。
第三項檢查計算連通性。對應的開口會被加入一個無向鄰接圖,從第一個方塊出發的廣度優先走訪會回報九個格子中有幾個可以抵達。第四項檢查會拒絕循環。在九個方塊的情況下,單一連通網路必須恰好包含八條對應邊才能成為無循環圖;不相交集合檢查會辨識出任何把同一分量中兩個節點連起來的連線,並將其視為循環——這會把邊數推到九,違反無循環要求。因此,完成時必須滿足零錯誤、九個方塊全部可達、恰好八條邊、且沒有循環。
先角落、再邊緣、最後中央:一個有效的閱讀順序
實用的移動順序從棋盤自由度最低的地方開始。3 乘 3 棋盤的四個角落各自貼著兩面外牆,所以角落上任何指向上、下、左、右邊界的開口都必須旋轉到內側。在大多數的水管形狀下,四個方位中只剩下一或兩個仍然可行,這也是為什麼角落的鬆開端點是降低狀態計數最快的方法。
邊緣方塊——四個各自只接觸一面外牆的格子——接著處理。因為四面中只有一面朝向邊界,它們有三個可行的旋轉而不是一或兩個。等到角落和相鄰的邊緣都已定向,棋盤中央通常只剩下一個候選方位,因為從角落與邊緣被逼進內側的開口只留下一個相符的旋轉。
中央方塊最後處理,而且它最常被旋轉兩次。由於它不需要滿足任何外牆條件,第一次旋轉有時是為了避免循環而選的,而循環修正會以鬆開端點數小幅上升的方式出現,下一次旋轉再把它壓回來。依這個順序閱讀方塊——角落、邊緣、中央——是 Lizely 3 乘 3 蛇形定局上一種有效的閱讀方式。
水管拼圖中如何挑選、旋轉與重新開始
- 按方向鍵將高亮游標移到你想要查看的方塊。游標會在棋盤邊緣停下並且不會循環,因此最右一列按右鍵會被忽略。
- 從線條字形讀取該方塊目前的水管形狀,並記下四個邊中哪幾邊帶有開口。
- 按 Space 或 Enter 將選中的方塊順時針旋轉 90 度。游標停留在同一格,旋轉是唯一的變化。
- 使用滑鼠與觸控的使用者可以直接點擊或輕觸任一方塊來旋轉它,不需要先移動游標。
- 觀察棋盤下方的狀態列上的兩個數字:鬆開端點數和從第一個方塊可達的格子數。一個能讓鬆開端點數下降、但不會讓可達數下降的動作,就是一個好的下一步。
- 如果鬆開端點數上升,再按一次 Space 把同一個方塊旋轉回去,或者把游標移到鄰居方塊嘗試不同的方位。即使從目前狀態某個方位已無解,棋盤仍保持可編輯。
- 當棋盤回報零個鬆開端點、九個可達格子、且恰好八條邊時,旋轉會自動凍結以維持已解出的網路。按下「重新開始」控制項即可還原初始排列、游標位置、1,000 分的起始分數,以及各項即時計數。
在送出動作之前讀懂即時狀態列
狀態列是棋盤在遊戲中唯一提供的回饋,所以它上面的兩個數字都值得注意。鬆開端點數是指那些指向棋盤邊界之外、或是面對沒有對應開口的鄰居的開口數量。當它歸零時,代表每根水管都接上了鄰居的相符開口,或者根本就沒有開口朝向那一邊。
連通格子數從第一個方塊開始,隨著對應邊把更多方塊加入同一分量而成長。一旦達到九,代表網路涵蓋了棋盤上的所有格子。如果在多次旋轉後仍停留在九以下,代表仍有兩群或更多群處於孤立狀態,下一步應該透過一個同時接觸兩邊的方塊把它們接起來。
| 狀態讀數 | 代表意義 | 下一步 |
|---|---|---|
| 鬆開端點增加 | 上一次旋轉開啟了一個新的對外邊,或破壞了一條對應邊 | 在同一個方塊上再按一次 Space,或移到鄰居 |
| 鬆開端點不變 | 旋轉雖然有效,但沒有產生進展 | 挑選另一個方塊,特別是仍然對外的角落 |
| 鬆開端點減少 | 上一次旋轉消除了錯誤 | 朝最小的鬆開端點數繼續 |
| 連通格子 = 9,鬆開端點 = 0 | 網路涵蓋所有格子且沒有錯誤 | 在宣告棋盤解開之前先檢查邊數 |
一個實用的局部規則是:讓鬆開端點數恰好下降二、且讓連通格子數上升一的動作,幾乎一定是正確的下一步,因為它同時移除了一個對外開口與一個錯誤,又把一個新方塊接到主群組上。讓連通格子數下降的動作,本質上是循環修正——上一步已經把所有東西接起來,而這一步正在斷開一條對應邊。把它退回來,只要再旋轉同一個方塊一次即可。
為什麼必須恰好八條邊和一個無循環的網路
網路必須保持無循環的這項限制並非任意。在九個方塊組成的連通無循環圖中,邊數是由樹的公式所決定:邊數 = 節點數 − 1。九個方塊減一是八條對應邊,這正是已公布的目標網路在走完整個棋盤時所含的八條邊。
這就是為什麼即使鬆開端點數為零,循環檢查仍然重要。一個零錯誤、九個連通方塊、且擁有九條邊的配置仍然是無效的,因為第九條邊會形成一個迴圈。瀏覽器執行的不相交集合檢查是同一條規則的結構化形式:連接同一分量中兩個方塊的連線會被拒絕。把棋盤當作一棵樹而不是一個格子來讀,就會讓下一步顯而易見——每一條新的連線都應該讓樹成長,而不是讓它閉合。
Scoring, the 18-Turn Route, and When to Restart
The Lizely board scores each rotation against the fixed target network. The starting value is 1,000 and each clockwise rotation subtracts 10 points, so the formula is max(0, 1000 − 10 × rotations). The disclosed scramble on the 3 by 3 snake fixture takes exactly 18 clockwise rotations to undo from the published starting orientations, which gives the player a final score of 820 points — 1,000 − 10 × 18 = 820 — when every move is on the optimal route.
If at any point your moves drift past the optimal route, the score reflects it: one extra rotation costs ten points, and four extra rotations cost forty. Pressing Restart restores the original scramble, the cursor position, the starting score, and the live analysis counters, so an unsuccessful attempt is recoverable rather than permanent. A best score is the only value the board writes to localStorage, and only when the network reaches the solved state.
For a short spatial-network break, count your loose ends, pick the corner with the most outward openings first, and let the status line confirm each move before you commit the next rotation on the Lizely Pipes Puzzle.
Related reading: Rebus Puzzles With Answers: A Fixed 1,000-Point Route.
Related reading: Hard River Crossing Puzzles: Why the Classic Stumps You.