數方塊謎題要求你數出等角視圖堆疊中的每一個立方體,包括那些藏在可見表面之後的立方體。這堆方塊是由單位立方體排列在整數格點上組成,每個立方體占據一個座標 (x, y, z)。可見的圖示只顯示結構的表面——有些立方體從攝影機方向完全看不到任何一面,但仍佔據在有支撐的直行內部的位置。堆疊下方的層掃描器會顯示每個 z 層中所有被佔用的 x 與 y 座標,包括在等角視圖中完全被遮住的立方體。透過計算所有層中被填滿的格子,你就能確定堆疊中立方體的總數,而不只是計算輪廓可見的立方體頂面或有顏色的側面數量。每個謎題會給出四個可能的總數,選對正確答案可獲得 200 分。五次都選對即可達成 1,000 分的滿分。

為什麼隱藏立方體在數方塊謎題中很重要
數方塊謎題中的等角投影,會省略被相鄰立方體在正 x、正 y 或正 z 方向遮住的那些面。只有當這三個方向上的相鄰位置全部都被佔用時,一個立方體才會完全被隱藏。這代表一個立方體可能顯示一面、兩面或三面——也可能完全不顯示任何一面——但它依然是這堆方塊實際存在的一部分。舉例來說,如果一個直行中間的立方體上方、右側與前方的立方體都存在,它就可能不會顯示任何一面。只計算可見的面或頂部的菱形會導致錯誤,因為不論一個直行包含多少個立方體,它永遠只會顯示一個頂部菱形。正確的總數是被佔用的格點座標數量,也就是所有完整直行高度的總和。
Counting Blocks Puzzle使用的是透明的幾何運算,而不是人工設定的答案標記。投影常數(screen x = 150 + 30x - 30y,screen y = 80 + 17x + 17y - 34z)只控制繪圖呈現,絕不會改變立方體的計數結果。攝影機面向正 x、正 y 與正 z 這幾個方向,渲染器會針對每個立方體檢查這幾個方向上的三個相鄰格點位置。只有當正上方的座標是空的時候,才會顯示頂面;而當正 x 或正 y 方向的相鄰位置是空的時候,才會顯示側面。這條顯示面規則能避免一個常見的計數錯誤:只有一或兩個相鄰立方體並不足以隱藏整個立方體。只有三個方向的相鄰位置都被佔用時,才會把這個立方體從渲染出的表面中移除。
用層掃描器重建整堆方塊
層掃描器是準確解出數方塊謎題的關鍵。它會把整堆方塊由下到上切分成一系列水平的 z 切片,顯示每一層中被佔用的所有 x 與 y 座標。每個被填滿的掃描器格子代表一個立方體,包括那些在等角視圖中完全看不到任何一面的立方體。空白的格子只是用來維持底面輪廓的對齊,並不代表有立方體存在。使用掃描器的方式如下:
- 研究等角視圖中的整堆方塊,理解其整體形狀與攝影機方向。
- 打開堆疊下方的層掃描器,由下到上檢視各個 z 層。
- 一次讀取一層,持續累計已填滿格子的數量。
- 把所有層中已填滿的格子加總,得到立方體的總數。
這個方法能確保你把每一個立方體都算進去,不論它是可見還是隱藏的。舉例來說,一堆帶有寬闊隱藏平台的方塊,可能有好幾個立方體完全被上方的層遮住,但掃描器能清楚顯示它們的位置。這個遊戲中的五個場景,會從緊湊的二乘二平台,逐步進展到隆起的稜脊、有頂冠的底面輪廓、對角排列的塔狀結構,以及一個寬闊的隱藏平台,每一個都需要仔細重建垂直方向的直行。
如何一步一步數立方體
- 研究等角視圖中的整堆方塊,理解其整體形狀與攝影機方向。留意可見立方體的排列方式,並找出它們背後可能隱藏的方塊。
- 打開層掃描器,位於堆疊下方。掃描器會把整堆方塊由下到上切分成一系列水平的 z 層。
- 由下到上讀取各個 z 層。每個被填滿的掃描器格子代表該層中一個被佔用的 x 與 y 座標,包括在等角表面中被隱藏的立方體。
- 計算每一層中已填滿的格子。從最底層移動到最頂層時,持續累計總數。
- 把所有層中已填滿的格子加總,得到堆疊中立方體的總數。這個總數包含每一個立方體,不論它是可見還是隱藏的。
- 從四個總數中選出一個。正確的總數會等於所有被佔用格點座標的總和。
- 提交你的選擇,使用答案按鈕作答。每次選對可獲得 200 分,五次都選對即可完成 1,000 分的滿分路線。
謎題的鍵盤與觸控操作
Counting Blocks Puzzle 同時支援鍵盤與觸控輸入,以兼顧無障礙使用。指標與觸控輸入使用原生的答案按鈕,點擊區域高度超過 44 像素,確保在行動裝置上也容易操作。鍵盤操作一開始會先聚焦在其中一個選項上。方向鍵可在二乘二的選項格線中移動,而實際的 DOM 焦點會跟隨可見的游標一起移動。按下 Enter 或空白鍵即可選擇目前游標所在的狀態,該狀態會依功能即時更新,避免在快速切換後出現過時的答案。滑鼠點擊與觸控輕點會直接選擇該按鈕。完成或陷入死局時,所有答案按鈕都會被停用,但重新開始按鈕仍可透過共用的 GameShell 使用。
如果你選錯一次,仍然可以更正。再次選擇同一個錯誤選項會被視為重複,不會再消耗一次失誤次數。第二次真正選到不同的錯誤總數才會鎖定整輪遊戲,但在一次失誤之後更正某個場景,會在進入下一個場景前清除該場景的失敗紀錄。這樣的設計可避免舊有的失誤影響到之後的回合。重新開始一律會重建出完全一致的初始狀態,讓你隨時都能重新開始。
遊戲中的計分與進度
Counting Blocks Puzzle 共有五個回合,每個回合都會呈現一堆原創的等角立方體堆疊,以及四個可能的總數。這四個選項都是單純的數字,遊戲引擎會獨立計算實際的體素清單,找出唯一與之相符的選項。在選擇之前,不會顯示任何總數欄位、可見數量、隱藏數量,或任何語意上的正確標記。每次選對都會獲得 200 分,五次都選對即可產生 1,000 分的滿分。一次選錯的總數仍可補救,但第二次選到不同的錯誤答案就會鎖定整輪遊戲。
| 回合 | 堆疊描述 | 關鍵挑戰 |
|---|---|---|
| 1 | 緊湊的二乘二平台 | 辨識出底層,並數出所有立方體,包括任何藏在表面之下的立方體。 |
| 2 | 隆起的稜脊 | 重建可能藏有隱藏立方體的稜脊後方直行。 |
| 3 | 有頂冠的底面輪廓 | 在一堆頂層結構複雜、遮住下方立方體的方塊中計數。 |
| 4 | 對角排列的塔狀結構 | 算入藏在對角排列後方的立方體。 |
| 5 | 寬闊的隱藏平台 | 找出並數出完全藏在平台下方的立方體。 |
這五組體素資料、選項數值、投影常數、計分方式與失敗行為,都是原創的產品固定內容。它們並不代表任何真實的透視關係、建築體積或工程結構支撐。這些座標是一套抽象的娛樂性規則系統,一切都在瀏覽器本機端執行,不需要上傳、註冊帳號或伺服器端運算。有一個獨立的仲裁機制,單獨保留這五組體素資料的字面副本,並在不匯入執行期結果的情況下,驗證等角視圖的表面特徵與分層特徵。這確保了這款遊戲的透明度與準確性。
常見錯誤以及如何避免
在數方塊謎題中,最常見的錯誤之一,就是只計算可見的面或頂部菱形。一個立方體可能畫出一面、兩面或三面,而一個直行不論高度多高,永遠只有一個頂部菱形。計算這些元素而非實際的立方體,會導致總數錯誤。另一個常見錯誤,是忽略完全被隱藏的立方體——也就是因為三個朝向攝影機方向的相鄰位置都被佔用,而完全看不到任何一面的立方體。這些立方體仍然是整堆方塊的一部分,必須被算入總數之中。
為了避免這些錯誤,請務必使用層掃描器來計算所有 z 層中被填滿的格子。每個被填滿的格子代表一個立方體,不論它是可見還是隱藏的。不要只依賴等角視圖,因為它會省略隱藏立方體的面。此外,請記得遊戲的投影常數只控制繪圖呈現,並不會影響立方體的計數結果。攝影機方向與顯示面規則的設計,是為了防止計數錯誤,但仍需要你仔細留意細節。
如果你不確定某個立方體是否可見,請參考層掃描器。它能清楚、可稽核地呈現整堆方塊中每一個被佔用的座標。把等角視圖表面與層掃描器結合起來,你就能準確重建整堆方塊,並找出正確的總數。若想練習更多方塊類謎題,可以試試Block Stacking Puzzle,它同樣著重在體積與支撐關係上。