---
title: 幾個看起來奇怪但有原因的設計
nav: 設計取捨
order: 3
description: 球為什麼會互撞、為什麼每一關換配色、為什麼只有本機紀錄沒有排行榜。三個實際被回報過或被質疑過的設計，以及它們背後的理由。
updated: 2026-08-28
---

## 球為什麼會互相彈開

初版的球**不會**互相碰撞，會直接穿過去疊在一起。問題在最後一個階段爆出來：
凍結選號時兩顆球幾乎在同一個位置，號碼標籤疊著，**你知道答案卻點不到**。

現在偵測到重疊就把兩顆球推開，並交換法線方向的速度分量（等質量彈性碰撞）——
球因此會像撞球一樣互彈。

⚠️ 只有在兩顆球**正在互相靠近**時才交換速度。已經在分開的不重複套用，
否則兩顆球會卡在原地不停抖動。

順帶一提，這個修正讓遊戲更難也更好玩：碰撞讓路徑無法預測，「記住它往哪個方向跑」這個
偷吃步失效了。

## 為什麼每一關的顏色都不一樣

初版永遠是「目標黃色、其他綠色」。玩久了很單調，而且固定配色會讓人開始靠色彩記憶而不是位置追蹤。

現在每一關隨機挑色相，只保證一件事：**兩色的色相至少相差 150 度**。
飽和度與明度走主題的 CSS 變數，所以在暗色／亮色／暖色三種主題下都讀得清楚。

150 度是刻意訂得很嚴的 —— 畫面上只有兩種顏色，不夠遠就會出現「記憶階段根本看不出哪顆亮著」
這種一開始就輸掉的關卡。

## 為什麼沒有排行榜

原本想做的是「你贏過多少人、排名前幾 %」。做不下去的原因很單純：
**那需要收集其他玩家的分數，也就是需要一個後端。**

而這個站上每一個工具與遊戲的共同前提是「沒有後端、資料不會離開你的電腦」——
隱私權政策就是這樣寫的。為了一個排行榜先破例，代價是那句話對所有工具同時變成假的。

所以目前只有**本機最佳關卡數**，存在你自己的瀏覽器裡。清除瀏覽器資料就沒了，
換一台電腦也不會跟著走 —— 這是那個前提的代價，不是忘記做。

真要做的話會是**匿名百分位**（只上傳一個分數、不上傳任何身分），那沒有姓名榜的
灌水與冒名問題。但那仍然是「先改政策、再加功能」的順序，不是順手加一個 API。

## 為什麼不能切分頁

追蹤階段切到別的分頁再切回來，球會瞬間跳到新位置。原因是瀏覽器會**完全暫停背景分頁的
動畫更新**（實測：分頁隱藏時 1 秒 0 幀），回來時遊戲要一次補上這段時間的移動。

這是瀏覽器的省電行為，網頁擋不掉也改不了。所以請把那 10～24 秒留給遊戲。
