什麼是 Snake?
Snake 是一種邏輯謎題,你要在方格盤上畫出一條蜿蜒的蛇。蛇寬一格,從固定的頭到固定的尾形成一條不間斷的格子鏈——兩個端點已為你標出。每個格子要麼屬於蛇,要麼留空,蛇身永不分岔:蛇的每個格子恰好連接兩個鄰格,而頭與尾只連接一個。
讓它成為謎題的線索是邊緣的數字。每欄上方的數字精確說明該欄有幾格屬於蛇,每列旁的數字說明該列有幾格。此外蛇遵守一條優雅的限制:除了它實際做出的轉彎,連對角也永不碰到自己。把數字和不碰觸規則合起來,整條蛇就被確定了——從頭到尾蜿蜒的方法只有一種。
- 蛇寬一格,從固定的頭到固定的尾。
- 蛇的每個格子連接兩個鄰格;頭與尾連接一個。
- 欄上方的數字計算每欄的格數。
- 列旁的數字計算每列的格數。
- 蛇連對角也永不碰到自己。
- 每道謎題僅有唯一解,純靠邏輯。
如何線上玩 Snake
點按或輕觸一格把它加入蛇;再點一次把它清空。頭與尾固定,永遠是蛇的一部分。當你塗格時,蛇身會畫成一條相連的管子,而邊緣的數字在某列某欄達到其數字時立刻變綠,多塗一格則變紅。當你確定某格留空時,可右鍵在上面標一個小叉——這永不改變謎題,只記下你的推理。
檢查會審視你的棋盤,標出任何與唯一解不符的格子,但不告訴你如何更正。提示塗出一個正確的格子——或清空一個錯誤的——復原往回走,重設清掉你塗過的一切,而解答在你想研究而非完成時畫出整條蛇。新題依所選大小與難度造出全新棋盤。
- 輕觸一格把它加入蛇;再觸一次把它清空。
- 頭與尾固定,永遠是蛇的一部分。
- 右鍵標記空格;那只是個註記。
- 列與欄的數字達標時變綠,超出時變紅。
- 檢查、提示、復原、重設與解答在你卡住時幫忙。
邊緣周圍的數字
數字做了大部分工作,而極端值是起步之處。0 表示某列或某欄不通過蛇,所以你可以整條劃掉——這些空線常把蛇困在別處的窄道裡。等於盤寬的數字表示那條線的每一格都屬於蛇,所以馬上把整條塗滿。在兩極之間,每個數字都是硬性預算:某線一旦湊滿它的格數配額,其餘全空;某線只差一格而僅剩一個候選時,那格必為蛇。
真正的力量來自把列與欄一起讀。一格唯有當它的列與欄都還負擔得起時才會是蛇,所以一條飢渴於格子的欄與一條已滿的列相交,就把那格定為空,反之則逼它為蛇。在列與欄的數字間來回掃視,讓彼此互相收緊——這就是把看似空白的棋盤變成整段蛇身忽然確定的棋盤的方法。
- 0 表示整列或整欄為空——馬上劃掉。
- 等於盤寬的數字填滿那整條線。
- 某線達到其數字時,其餘每格皆空。
- 只差一格而僅剩一個候選的線,逼那格為蛇。
- 把列對著欄讀:每個數字都限制另一個。
從端點長出蛇身
由於頭與尾固定,你總有兩個自由端可供建造,而蛇只能以一種方式生長——每個新格都必須接上前一格。從頭與尾向內畫蛇身,下一格往往只有一個合法的家:不碰觸規則擋住除一個方向外的所有方向,或某列某欄的數字禁掉其餘。從兩端長出蛇直到在中間相遇,是最自然的解法。
頭與尾在貼著角落或邊緣時格外多話,那裡蛇可逃的方向較少。某格的列或欄快滿時,常只剩一個鄰格可連,這就定下蛇的下一步。而每當一步會逼蛇碰到它已占的格子,或留下走不通的殘端,那一步便不合法——通常恰好剩一個合適的格子。
- 從固定的頭與尾向內建造。
- 每個新格都必須接上已畫出的蛇。
- 角落的頭或尾逃路較少,因而逼出步法。
- 快滿的列或欄只給某格一種連接方式。
- 讓兩端生長,直到兩半相遇。
蛇永不碰到自己
定義 Snake 的規則是蛇身永不碰到自己——無論正交還是對角——除了蛇蜿蜒時做出的轉彎。實務上這表示蛇的兩個部分絕不能並肩而行,也絕不能隔著空隙角對角。蛇被迫與自己保持距離,在每段蛇身周圍留下一圈乾淨的空格邊界。
這一條規則是源源不絕的推理來源。它禁止蛇填滿任何 2x2 區塊,阻止兩條平行的走線相擁,並排除兩段在角落相觸的對角擦邊。每當一個數字或一個被迫的端點給你兩個候選格,不碰觸規則幾乎總會刪去其一,因為塗它會讓蛇撞上自己的一部分。把那圈空白邊界記在心裡,和數字一樣是解題工具。
- 除了沿著蛇身,蛇正交永不碰到自己。
- 除了自己的轉彎,它對角也不碰到自己。
- 所以蛇永遠無法填滿一個 2x2 區塊。
- 蛇的兩個部分不能並肩或角對角而行。
- 用蛇身周圍的空白邊界來排除步法。
Snake 的由來
Snake 較屬於競賽與線上場景的謎題,而非經典日本雜誌。它是謎題錦標賽與大型合集的常客——如以德文名 Schlange 出現的 janko.at,以及其中的 Cross+A——而它清晰的構想,一條由邊緣數字引導、不碰自己的路徑,使它成為製作與求解的最愛。一條蛇從頭到尾穿過方格的影像一眼即懂,這幫它傳得很遠。
在蛇的主題之下,是兩個老把戲的俐落融合。沿邊計數的線索與數織(Nonogram)和 Magnets 共享,而一條不分岔的路徑是 Slitherlink 與 Masyu 等迴圈與路徑謎題的核心。Snake 把它們熔合:你穿過列與欄計數,同時讓一條相連、避開自己的線保持鮮活。計數與尋路的這種結合,加上不碰觸規則的調味,賦予 Snake 它獨特的性格。
Snake 對比 Nurikabe、Slitherlink 與路徑謎題
Snake 屬於路徑謎題家族,但畫的是一條開放的線而非迴圈。在 Slitherlink 你讀帶數字的格子,把點連成一個封閉迴圈;在 Masyu 你在黑白珠之間穿出一個迴圈。Snake 則要求一條有頭尾兩個固定端的開放路徑,並由邊緣數字而非盤內數字引導。不過,從固定點追隨被迫連接的本能完全一樣。
不碰觸規則與蛇身周圍的空白邊界,讓 Snake 與 Nurikabe 等塗格謎題有強烈血緣,那裡你同樣讓一個相連的形狀不含實心 2x2 區塊。Nurikabe 撒出一座座塗格之島,Snake 則拉出一條細線,所以它像是 Nurikabe 較安靜、較線性的表親。若你喜愛 Slitherlink 被迫步法的連鎖,或 Nurikabe 的連通邏輯,Snake 是一個容易又有成就感的下一步,各取一點融在一起。
- Slitherlink: 線索計算邊;你建造一個封閉迴圈。
- Masyu: 依黑白珠穿出一個迴圈。
- Nurikabe: 讓相連的塗格形狀不含 2x2 區塊。
- Snake: 邊緣數字加一條開放、避開自己的路徑。
- 在計數謎題與畫路徑謎題之間架起橋樑。
盤面大小與難度
6x6 棋盤是學手筋的地方:短蛇、容易想像的數字,以及從頭尾很快跟著來的被迫格。到了 7x7,蛇變長、蜿蜒得更遠,於是不碰觸規則與把列對欄讀開始真正發揮作用。8x8 棋盤是完整的謎題——一條又長又扭的蛇、貫穿全盤互相作用的數字,以及在某格確定前你必須同時追隨蛇身與數字的段落。
難度改變一開始顯示多少邊緣數字。簡單棋盤顯示每個數字,所以每格都從一段短而局部的推理跟著來,蛇穩定生長。中等藏起部分數字,留更多蛇身要靠不碰觸規則推出。困難顯示最少數字,所以在蛇成形前你更久地依賴不碰觸邊界與剩下的數字。無論你選什麼,每個棋盤在你看到前都由求解器驗證,只留下唯一解的——所以每道謎題永遠能純靠邏輯解開,絕不靠猜。
- 6x6——短蛇與溫和的數字,用來學規則。
- 7x7——更長的蛇與數字間更多的互動。
- 8x8——扭曲的蛇與貫穿全盤的推理。
- 簡單、中等與困難改變顯示多少數字。
- 每道謎題都經驗證僅有唯一解。