是的,在 Number Match 10 中,一次合法的配對絕對可能造成死局——意思是你做出一個完全合法、正交相鄰兩格加總為 10 的動作,但事後盤面上卻不再剩下任何合法配對,你就卡住了。這個死局不是臭蟲(bug);它是這款遊戲「無重力、固定位置」規則,搭配你移除三組配對的先後順序所自然產生的結果。在這個固定的六格盤面上,上排是 1、9、1,下排是 9、2、8,一開始存在四組合法配對,而三組不重疊的配對可以用任何順序清除來完成這道題。其中一種誘人的順序——先移除左上角橫向的 1+9,再移除下方橫向的 2+8——反而會讓最後的 1 和 9 被困在對角線上,它們加總為 10,卻不是正交相鄰。因為對角格在 Number Match 10 中永遠不算合法配對,瀏覽器會偵測到這對被困住的數字,顯示 Restart 提示,並等你重新開始。理解這個陷阱正是這款遊戲的重點所在,也正是 Number Match 10 有別於一個毫無真正選擇的「湊 10」練習題之處。

can a legal match cause a deadlock when i play number match add to 10
玩 number match 湊到 10 時,合法配對會不會造成死局

為什麼一次合法配對會讓盤面卡住

Number Match 10 建立在一條透明的規則之上:你選取兩個正交相鄰、加總恰好為 10 的數字,這對數字就會消失。盤面是固定的——兩列三欄——被移除的格子會保持空白,而不會塌陷或套用重力。正是這個保留下來的幾何結構,讓死局成為可能。當你移除一對數字時,唯一改變的鄰接關係就是你已經清除的那些格子;其餘數字仍維持原本的位置,因此一開始合法的一對配對,如果一個空格最終夾在兩個原本可行的夥伴之間,就可能變得無法觸及。

當你面對這道題時,起始盤面如下:

第 1 欄第 2 欄第 3 欄
上排191
下排928

一開始存在四組合法配對:左欄的直向 1+9(第 0 格與第 3 格)、左上橫向的 1+9(第 0 格與第 1 格)、右上橫向的 9+1(第 1 格與第 2 格),以及下方橫向的 2+8(第 4 格與第 5 格)。第 2 格與第 3 格的對角 1 和 9 加總為 10,但不合法,因為它們只共用一個角,而不是共用一條邊。你做出的每一步都會縮小這份清單,而你移除這三組真正配對的順序,決定了盤面上最後剩下的數字是否還有夥伴。

要玩Number Match 10,你用方向鍵在格子間移動一個可見游標,按空白鍵或 Enter 鍵鎖定第一個數字,然後移到相鄰的格子再按一次。如果第二格與第一格正交相鄰,且兩數加總為 10,兩個數字就會消失,你的分數會上升 100 分。只要有一個條件不成立,就不會有任何東西消失;較新選取的格子會成為下一個第一選取項。連續按同一格兩次會取消選取。已移除的格子無法再次被選取,再多對角線上的取巧也無法取代真正共用的一條邊。

獲勝路線:清空全部六個數字,拿下 300 分

這是能清空盤面、不困住任何一個數字的完整路線。請依序照著每一步進行。

  1. 用方向鍵把游標移到左上角的 1(第 0 格),按空白鍵或 Enter 鍵選取它。
  2. 向下移到左下角的 9(第 3 格),按空白鍵或 Enter 鍵。1 和 9 正交相鄰且加總為 10,因此兩格都會消失,分數上升 100 分。
  3. 向上移到上排中間的 9(第 1 格),按空白鍵或 Enter 鍵選取它,再向右移到右上角的 1(第 2 格),按空白鍵或 Enter 鍵。第二組橫向配對消失,再拿下 100 分。
  4. 向下移到下排中間的 2(第 4 格),按空白鍵或 Enter 鍵選取它,再向右移到右下角的 8(第 5 格),按空白鍵或 Enter 鍵。最後一組配對清除,再加上最後的 100 分。

全部六格都清空了,分數顯示 300。因為左上橫向的 1+9(第 0 格與第 1 格)始終沒被使用,左下角的 9 才得以保留下來,成為那組直向配對的夥伴,這正是讓盤面在每一步都保持可解的關鍵。這就是這道題的邏輯層所保證的獲勝路線,也是這道題自己的自動化測試從頭到尾驗證過的路線。

死局陷阱:讓最後一對數字被困住的合法順序

這個陷阱看起來很無害。你一開始選取左上角的 1 和上排中間的 9——一組完全合法、加總為 10 的橫向配對。兩格都消失了。接著你覺得聰明,移除下排中間的 2 和右下角的 8——另一組同樣加總為 10 的合法橫向配對。你的分數顯示 200,四個格子都消失了。剩下的是左下角的 9 和右上角的 1。

這剩下的兩個數字加起來仍然是 10,所以直覺會以為再一步就能贏得遊戲。但左下角的 9 位於第 1 欄,右上角的 1 位於第 3 欄,中間隔著空掉的中欄。它們只共用一個對角的角,而不是共用一條水平或垂直的邊,因此正交相鄰的規則會拒絕這個配對。盤面上沒有任何合法配對,卻還剩下兩個數字,Number Match 10 會宣告死局,並提示你 Restart。

唯一被展示的死局順序——先左上橫向 1+9,再下方橫向 2+8——會讓最後兩個數字被困在對角線上。這正是為什麼題目設計者選擇這兩個特定的移除動作,作為死局的示範。

Number Match 10 如何偵測並回報死局

偵測發生在遊戲的純邏輯層。每次移除之後,引擎會列舉剩餘格子的每一種配對,要求曼哈頓距離恰好為 1,再檢查該配對加總是否為 10。如果至少存在一組這樣的配對,遊戲就會繼續。如果不存在任何配對,但格子仍有剩餘,引擎就會標記為死局,並提示你 Restart。如果沒有格子剩餘,引擎就會記錄一次以 300 分完成。同一套程式邏輯也會拒絕選取已經被移除的索引、不相鄰的格子,以及加總不等於 10 的配對,所以死局說到底就是:至少還剩一個數字,但合法配對清單是空的那種狀態。

瀏覽器絕不會讓死局停留在未解決的狀態。Restart 動作會還原全部六個數字、清除選取狀態、把游標移回第一格,並把分數重設為零。同一台機器的 localStorage 中可能保留一項最佳分數紀錄,但不會被傳送出去。連按兩下 Escape 會開啟一個共用的模擬試算表畫面,兼作「老闆鍵」;再連按兩下 Escape 就會回到題目畫面。這裡沒有 canvas、沒有隨機產生器、沒有計時器、沒有音效,也沒有帳號或下載。每一次按鍵都是確定性的,而死局提示是這款遊戲唯一要求你重新開始的方式。

反覆練習這個陷阱,直到獲勝路線變成本能

因為 Number Match 10 恰好只有四組合法配對,而且死局陷阱是可以觸發的,內化死局最快的方法就是刻意觸發這個陷阱。移除左上角的 1 和上排中間的 9,再移除下排中間的 2 和右下角的 8,看著 Restart 提示出現,並用肉眼確認剩下的 9 和 1 位於對角線上。接著 Restart,再玩一次獲勝路線,看著這個 300 分的盤面被清空。把這兩種順序各重複練習幾次,就能把這條規則從你讀過的東西,變成你手指記得的東西。

同樣的紀律也適用於分數公式:每一次成功的相鄰配對值 100 分,所以只清了一部分、卻把兩格困在錯誤位置的話,你只會停在 200 分,而不是 300 分。盤面永遠不會塌陷,也永遠不會套用重力,因此唯一的變數就是你先用掉四組合法配對中的哪一組。Lizely 上其他的短篇邏輯遊戲也使用類似的固定路線機制,因此如果你想繼續練習這種「小型路線選擇盤面搭配一個尖銳陷阱」的手感,同樣的刻意練習方式也適用於 Mosaic、LITS、Thermometers 和 Battleships 等題目。

相關閱讀:Face Memory Game: 5 Illustrated Profiles to Match

相關閱讀:Fireworks Simulator Tips: 8 Cells in 10 Shots