疊疊方塊遊戲是一款時機與對齊的解謎遊戲,玩家將一個水平移動的方塊放到塔上,任何超出懸垂的部分都會被裁剪掉,只留下重疊的部分作為下一層。Tower Stack 是該機制的確定性瀏覽器實作,設計重點在於清晰而非反應速度:遊戲區域是固定 100 單位的軌道,底座位於 x 35 到 x 65,寬度為 30 單位,每次成功放置恰好獲得 200 分,直到第五次落下後,回合在鎖定的 1,000 分結束。每次放置都是透過純粹的區間運算計算,而非像素取樣或畫布碰撞,因此相同的輸入永遠會產生相同的新方塊寬度與相同的分數。第一個移動的方塊從 x 0 開始,這代表若立即對底座 (x 35 到 x 65) 進行放置,將完全錯過塔體,這個特性同時也是內建於瀏覽器中、針對未命中路徑的測試,讓玩家在追求完美表現前先驗證。

block stacking game
疊疊方塊遊戲:疊滿五次放置,獲得 1,000 分

遊戲區域的樣貌

塔體、移動的方塊與分數都共用同一個 100 單位的座標系統。底座為永久存在且不會移動:其範圍從 x 35 到 x 65,寬 30 單位,位於遊戲區域中央。第一個移動的方塊寬度同樣為 30,但它從 x 0 開始,也就是軌道的最左邊緣。一旦方塊落下並成為新的頂層,下一個移動的方塊會以該新層的精確裁切寬度,從 x 0 重新生成,因此軌道、底座與重生行為在每回合中都是可預測的。

移動同樣是確定性的。每個 tick 會將移動的方塊推進「方向 × 速度」,當候選的 x 位置跨越任一軌道邊界時,引擎會將超出距離反射回合法區間內,並反轉方向。一項 500-tick 的邊界檢查會確認 x 不會變成負值,且 x 加上寬度不會超過 100。每次成功放置後速度會提升,在保留相同反射規則的前提下增加時機挑戰。這些機制完全不依賴動畫幀、CSS 邊界框或隱藏答案:純邏輯層才是唯一真相來源,而計時器只負責請求下一個 tick。

如何遊玩 Tower Stack

  1. 在瀏覽器中開啟 Tower Stack,並讓移動的方塊出現在軌道左邊緣。
  2. 觀察移動的方塊在塔頂上方來回滑動。
  3. 在其範圍與頂層方塊重疊時,按下 Space、Enter、點擊遊戲區域,或選擇 Drop block 按鈕來放下方塊。
  4. 讀取新的頂層方塊:其 x 變為重疊區的左邊緣,寬度等於正向重疊區間,而每個懸垂的單位都已被裁掉。
  5. 持續堆疊直到在底座之上完成五次成功放置,此時分數恰好鎖定在 1,000 分。
  6. 若需要重新開始,請按 Restart 以重建底座、移動的方塊、方向、速度、進度、分數、暫停狀態與錯誤次數。

暫停與逐步對齊以進行精準放置

每次成功放置後速度都會提升,但遊戲的設計讓您完全不需依賴反應速度。按下 P (或選擇 Pause) 即可完全停止自動 tick。暫停期間,Step left 與 Step right 按鈕,以及水平方向鍵可讓移動的方塊在相同邊界條件中,每次動作恰好移動一個單位,讓您在完全可見的情況下相對於目前頂層進行定位,再決定是否放置。Resume 會在下一個 tick 重新啟動區間驅動的移動。

這種「暫停並逐步」的路徑正是讓此回合可在瀏覽器中驗證的關鍵。您可以隨時暫停,檢查預測寬度與下一步動作的結果,並確認正式版的狀態轉換在按下 Space 前會產生相同的寬度。重複的鍵盤事件會被忽略,因此按住一個鍵並不會從一次預期動作中產生多個方塊,而單次呼叫放下狀態轉換最多只會建立一個永久方塊,並且最多將成功進度加 1。其結果是一個任何人皆可透過逐步檢視相同移動而審核的確定性對齊機制。

重現達成五次放置的路徑

確認規則的一個乾淨方法是暫停遊戲,並在每次放下前將移動的方塊精確放置於目前頂層右側一個單位的位置。以底座位於 x 35 (右邊緣為 x 65)、第一個移動的方塊從 x 0 開始為例,該路徑會產生一組已知寬度序列:

放置次數放下前位置重疊左邊重疊右邊新寬度放下後分數
1 (在底座 x 35,w 30 上)x = 36max(35, 36) = 36min(65, 66) = 6529200
2 (在 x 36,w 29 上)x = 37max(36, 37) = 37min(65, 66) = 6528400
3 (在 x 37,w 28 上)x = 38max(37, 38) = 38min(65, 66) = 6527600
4 (在 x 38,w 27 上)x = 39max(38, 39) = 39min(65, 66) = 6526800
5 (在 x 39,w 26 上)x = 40max(39, 40) = 40min(65, 66) = 65251000

相同的寬度 (29、28、27、26、25) 可由正式版的狀態轉換重現,每個新 x 等於重疊區的左邊緣,而分數在第五次成功放置時鎖定為 1,000。這是您該記住的一個完整範例;一旦理解重疊運算,您所做的每次擱位都能以相同方式預測。

計分、未命中與回復

計分是固定且明確的:每次成功放置增加 200 分,因此中間的分數讀數為 200、400、600、800,而第五次成功放置會以 1,000 分結束該回合。當方塊的右邊緣不大於其左邊緣時,與目前頂層的正向重疊為零,視為完全未命中;若是邊緣接觸的放置 (即移動方塊的右邊緣等於頂層的左邊緣),其寬度同樣為零,亦視為未命中。

首次未命中是可以回復的。塔體保持不變,且一組帶有目前頂層寬度的新移動方塊會回到 x 0,因此您可以暫停、重新對齊,並在保留已堆疊層數的情況下繼續建造。第二次未命中則無法回復:它會記錄第二次錯誤,並使回合陷入死鎖,直到您按下 Restart。由於初始的移動方塊從 x 0 開始,而底座從 x 35 開始,連續立即放下兩次是一條簡單的、確定性的瀏覽器路徑,可用來在無需建造任何部分塔體的情況下驗證第二次未命中的死鎖行為。

完成 (1,000 分) 與死鎖 (兩次未命中) 都是終止狀態。一旦達到任一狀態,tick、放下、暫停切換與手動微調都會返回未變動的狀態,代表遊戲無法靠遲來的幸運輸入挽回。Boss Key 與雙擊 Escape 的試算表樣式畫面由共用的 GameShell 處理,而最佳分數僅儲存於本機瀏覽器儲存空間中。

控制總覽

動作鍵盤滑鼠 / 觸控畫面上控制項
放下方塊Space 或 Enter點擊或輕觸遊戲區域Drop block
暫停 / 繼續PPause / Resume
移動一個單位← 或 →Step left、Step right
重新開始Restart
老闆鍵畫面Escape 兩次

讓回合具有確定性的要素

移動的方塊以 x 位置、寬度、方向與速度表示。每個永久方塊儲存 x、寬度與層級。重疊是取移動方塊與頂層中較大的左邊緣,以及較小的右邊緣所構成,而該重疊區間只有在寬度為正時才會成為下一個方塊。沒有像素取樣、畫布碰撞、CSS 邊界框、動畫幀時間或隱藏答案會決定結果,因此相同順序的移動永遠會重現相同的塔體、相同的分數與相同的未命中記錄。

介面採用一般的 HTML 按鈕與定位元素,而非畫布函式庫。動態內嵌樣式僅指定幾何上的 left、width、height 與 bottom 值;顏色、邊框、字型、焦點外框與表面皆來自網站設計權杖。遊戲區域、雙欄手機控制格線、換行的狀態文字,以及大型動作,皆能在 390 像素的視窗中顯示而不產生水平捲動。一切皆在本機瀏覽器中執行,使用公開的遊戲邏輯,而穩定的測試識別器會將關卡、移動的方塊、每個永久方塊、頂層幾何、方向、控制項、回饋、完成狀態與死鎖狀態全部暴露出來,供任何想要審核該回合的人使用。

Tower Stack 屬於休閒性質,而非智力、反應、醫療、教育或就業評估,且時機只會影響對齊的難易度,因為計分完全取決於達成五次有效放置。若想要輕鬆的回合,請在每次擱位前暫停,並沿著可重現的 29 到 25 路徑仔細微調;若想要時機挑戰,則保持移動並嘗試在完全不按暫停的情況下完成一次置中的放置。

若您在權衡選項,Grid Battle Strategy Game: Plan Ten Actions, Score 1,000 對此有詳細說明。

若您在權衡選項,Complete Pattern Recall Without a Mouse: 5 Rounds to 1,000 對此有詳細說明。