Shape Matching Game 是一款確定性的五對瀏覽器配對遊戲,將五個有命名的原始幾何圖形與其相同 ID 的輪廓進行配對,以取得剛好 1,000 分的完美結局。完整任務是將每個有命名的方塊(Arch、Diamond、Hexagon、Chevron 和 Capsule)與其相同 ID 的輪廓配對,而增加分數的唯一方法就是在回合結束前完成所有正確的相同 ID 配對。每一次成功配對會將該組合從遊戲中移除、清除目前選擇,並增加 200 分,因此計分公式非常簡單:200 乘以已配對組合的數量。有一組錯誤的來源-目標組合可以復原,重複同一組錯誤配對則是完全無效的操作,而出現第二組不同的錯誤組合則會關閉版面並結束回合。指標、點擊和鍵盤輸入都會通過同一個 reducer 處理,因此觸控體驗與桌面體驗完全相同,無需依賴 HTML5 拖放功能。這五個圖形使用本機 SVG 和 CSS 權杖呈現,絕不會以表情符號或照片素材的方式匯入,整個流程都在裝置本機執行,無需帳號、上傳或 AI 分類步驟。

計分公式:每對 200 分,五對共 1,000 分
Shape Matching Game 的分數是正確配對數的直接倍數,而非依據時間、速度或連擊所給予的連續點數。已公布的規則是每組正確的相同 ID 配對可得 200 分,而在第五組成功配對後的最終分數正好是 1,000。快速遊玩沒有加分獎勵,慢速遊玩也沒有扣分懲罰,沒有每秒計時器,也沒有針對部分進度的部分計分。正確配對增加 200 分;錯誤配對則會根據歷史紀錄,登記為可復原的錯誤或直接終止版面。
完整路線的計分公式計算範例:
- 配對第 1 組:200 x 1 = 200 分
- 配對第 2 組:200 x 2 = 400 分
- 配對第 3 組:200 x 3 = 600 分
- 配對第 4 組:200 x 4 = 800 分
- 配對第 5 組:200 x 5 = 1,000 分
第五組配對完成後,分數會凍結在 1,000,所有輸入都會被拒絕,因此即使透過程式觸發動作,終端狀態仍會被保留。共享的遊戲外殼除了提供 Restart、狀態、鍵盤操作指引和 Boss Key 之外,還提供最高分儲存功能。
五個原始圖形與預設版面順序
Shape Matching Game 的版面顯示兩個可見的欄位:左側的來源欄列出五個有命名的方塊,右側的輪廓欄列出五個有命名的目標。來源欄中的每一列在輪廓欄中都有恰好一個對應項,透過相同 ID 的簽章來識別,而非僅依賴位置、顏色或視覺紋理。
五個原始圖形分別為:
- Arch
- Diamond
- Hexagon
- Chevron
- Capsule
預設版面刻意將兩個欄位以不同的順序排列,因此單純按列逐行猜測是無法完成回合的:
- 預設來源順序:Arch、Diamond、Hexagon、Chevron、Capsule
- 預設輪廓順序:Hexagon、Capsule、Diamond、Arch、Chevron
這種錯位意味著按列逐行猜測只會產生錯誤配對;第一組錯誤配對是可復原的,但第二組不同的錯誤配對會在達到 1,000 分之前就結束回合。五個來源 ID 和五個目標 ID 共用同樣的五個名稱,每一次正確配對都需要讀取兩側的命名 ID 和輪廓形狀,而非僅依賴位置。所有五個圖形都以本機 SVG 和 CSS 權杖呈現,因此無論在不同回合或不同裝置之間,外觀都不會改變。
三種輸入路徑共用同一個 Reducer
Shape Matching Game 提供拖曳、點擊和鍵盤三種輸入方式,它們都會呼叫同一個 reducer。這點很重要,因為它讓規則集不受輸入裝置影響:觸控螢幕上的正確配對與桌面上使用數字鍵的正確配對採用相同的邏輯,已公布的測試套件只需稽核一套規則集,而非三套。
| 輸入路徑 | 如何選擇來源 | 如何選擇目標 |
|---|---|---|
| 拖曳(指標) | 按住來源方塊 | 在輪廓上方放開 |
| 點擊(滑鼠或觸控) | 第一次點擊來源 | 第二次點擊輪廓 |
| 鍵盤 | 數字鍵 1、2、3、4、5(由左至右) | 數字鍵 6、7、8、9、0(由左至右) |
指標輸入使用指標事件搭配目標命中測試,而非 HTML5 拖放,因此觸控和滑鼠共用相同的邏輯,無需依賴僅限桌面的拖曳功能。鍵盤輸入使用數字鍵 1 到 5 來對應五個可見的來源位置,並使用數字鍵 6、7、8、9 和 0 來對應由左至右的五個可見目標位置。選擇已配對的來源、選擇未知的 ID,或重新選擇目前的方塊,都是單一的無效操作,不會改變分數、配對數或錯誤數。
暢玩 Shape Matching Game 達到 1,000 分
依照下列五個步驟的路線,進行一次乾淨俐落的 Shape Matching Game 回合。無論您使用的是觸控螢幕、滑鼠或實體鍵盤上的數字鍵,這些步驟都同樣適用。
- 在瀏覽器中開啟 Shape Matching Game 工具。版面左側以預設來源順序開始(Arch、Diamond、Hexagon、Chevron、Capsule),右側以預設輪廓順序開始(Hexagon、Capsule、Diamond、Arch、Chevron)。
- 選擇您的輸入路徑。在觸控裝置上使用指標拖曳,在桌面滑鼠上使用兩次點擊選擇,或在鍵盤上使用數字鍵 1 到 5 選擇來源欄,使用數字鍵 6、7、8、9、0 選擇目標欄。這三種方式都會呼叫同一個 reducer。
- 將 Arch 與其相同 ID 的輪廓配對。使用鍵盤上的位置 1 或來源欄左上角的方塊。請依據輪廓和名稱進行配對,而非依據列索引。
- 依任意順序對 Diamond、Hexagon、Chevron 和 Capsule 重複此步驟。每次成功完成相同 ID 的配對會增加 200 分,並將該組合從版面中移除,因此來源和目標欄位會各自減少一列。
- 完成全部五組配對以取得剛好 1,000 分的完美結局。版面隨即鎖定,所有輸入都會被拒絕,以維持終端狀態。
唯一可復原的錯誤與死局
Shape Matching Game 的決定性規則就是唯一可復原的錯誤。將一個來源與不同的目標配對,會將該來源-目標簽章儲存為可復原的錯誤;重複同一組錯誤配對則是完全無效的操作;出現第二組不同的錯誤配對則會關閉版面。可復原的錯誤是以來源-目標配對為識別依據,而非僅以來源為依據,因此單一來源與兩個不同的非配對輪廓配對,會算作兩次不同的錯誤嘗試,並鎖定該回合。
| 動作或錯誤 | 對版面的影響 |
|---|---|
| 第一組不同的錯誤來源-目標配對 | 儲存為可復原的錯誤簽章 |
| 重複同一組已儲存的錯誤配對 | 完全無效操作,狀態不變 |
| 第二組不同的錯誤來源-目標配對 | 版面關閉,所有輸入停用 |
| 選擇未知 ID | 單一無效操作,分數與計數不變 |
| 選擇已配對的來源 | 單一無效操作,分數與計數不變 |
| 選擇已配對的輪廓 | 單一無效操作,分數與計數不變 |
| 重新選擇目前的來源 | 單一無效操作,分數與計數不變 |
將 Arch 與 Hexagon 配對算作第一次不同的錯誤嘗試,而將 Arch 與 Capsule 配對則算作第二次不同的錯誤嘗試,因此回合會結束。重複完全相同的錯誤配對(例如,Arch 配對 Hexagon 兩次)屬於完全無效操作,而非第二次不同的錯誤,因此玩家可以在不立即輸掉回合的情況下測試同一組錯誤配對。此規則由 reducer 守衛強制執行,即使在版面關閉後透過程式觸發錯誤動作,終端狀態仍會被保留。
重新洗牌、重新開始與終端凍結
除了輸入路徑之外,Shape Matching Game 還提供三個明確的版面控制項:Restart、Shuffle layout 和終端凍結。每個控制項都有其精確的效果,已公布的規則會分別加以說明。
Restart 會將目前的版面還原為零配對、無目前選擇、零配對計數,並將任何合理的錯誤狀態重設為該特定版面的狀態。Restart 不會產生新版面;它會重播相同的種子與相同的五個圖形 ID,以便針對完全相同的固定配置重複進行回合。
Shuffle layout 是產生新版面的唯一方式。它執行純粹的種子化 Fisher-Yates 排列,並可注入隨機來源,獨立地重新排列兩個欄位。它絕不會在渲染過程中或作為副作用隱含地執行,因此相同的種子總會產生相同的欄位順序。八組種子會經過獨立稽核,以確保精確的可重現性、五個唯一的來源 ID、五個唯一的目標 ID,以及通往 1,000 分的完整路線。種子標籤會持續顯示在版面上,讓玩家能確認他們正在遊玩的是哪一種排列組合。
終端凍結 適用於兩種狀態:完成(全部五組配對完成,獲得 1,000 分)和死局(儲存了兩組不同的錯誤配對)。在這兩種終端狀態下,所有來源、目標和洗牌動作都會被停用,reducer 守衛會維持終端狀態,因此即使觸發動作也無法解鎖版面。若要開始新回合,必須使用 Restart 重玩相同版面,或使用 Shuffle 取得新種子。共享的遊戲外殼還提供狀態、鍵盤操作指引、最高分儲存功能,以及用於快速離開的 Boss Key。
What Independent Tests Audit in the Shape Matching Game
The Shape Matching Game ships with an independent test suite that does not ask the product for expected targets. Instead, the tests own a literal five-pair mapping and audit the game against that fixed fixture. This separation matters because the test fixture cannot drift from the production logic and the production logic cannot drift from the test fixture; both must match a third list that neither one writes.
The independent tests verify, at minimum:
- Both default column orders (source order and silhouette order) match the published fixtures exactly.
- Every 200-point step is awarded at the correct matched-count threshold for one, two, three, four, and five pairs.
- The exact 1,000-point terminal score on the fifth successful pair.
- Arch-to-Hexagon and Arch-to-Capsule count as two distinct losing attempts that lead to deadlock.
- Duplicate error handling: a repeat of the same wrong source-target pair is a strict no-op rather than a second distinct mistake.
- Illegal and matched-item atomicity: unknown ID, already matched source, already matched silhouette, and reselecting the current source are all atomic no-ops.
- Eight seeded Fisher-Yates permutations reproduce the exact same column order on every run.
- Restart returns the same layout with zero pairs, no selection, zero matched count, and zero errors.
- Terminal freezing blocks every input on completion or deadlock and survives programmatic action invocations.
For readers who want a side-by-side comparison that also emphasizes outline reading, the Shadow Matching Game guide for reading outer shapes to 1,000 covers a separate matching game with a different set of original specimens and a different pair-identification rule, while the Shape Matching Game focuses on the named-form-to-named-silhouette pairing route audited by the independent five-pair mapping.
For a deeper look, see How to Choose Your Next Step in Shape Rotation Match.