兩區人數落差時改為跨區平衡,並調整結果版面

根本原因:
原本配對邏輯只以人數多的一區為基準,缺額全部補「那個」。例如 A 區 7 人、B 區 5 人時會補 2 個「那個」,但總人數 12 是偶數,其實可以讓 A 區 1 人跨區支援就湊滿 6 隊真人對打。

影響:
- 兩區差距 2 以上時,每輪自動抽「差距÷2」人跨區支援,且每輪輪替不同人,跨區的人平均分攤
- 只有總人數為奇數時才會補 1 個「那個」
- 三輪之間維持無重複搭檔、同輪無人重複上場
- 「推送到 LINE」按鈕移到上方操作列,三組結果改為三欄並排顯示
- 摘要卡改顯示跨區支援與補位人數

修法:
新增 balanceZones / pickCrossMembers 依輪次輪替抽出跨區成員,createRoundTeams 改在每輪平衡後再建立隊伍;移除不再使用的 prepareParticipants 與 .share-row/.share-button 樣式,並同步更新 README 規則說明。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 15:22:04 +08:00
co-authored by Claude Fable 5
parent 4cb150c7fb
commit 8cc05183f7
3 changed files with 61 additions and 38 deletions
+2 -1
View File
@@ -9,7 +9,8 @@
- 每次固定產生 3 組完整配對結果
- 每一隊都由 `1 位 A 區 + 1 位 B 區` 組成
- 每一組都會把 A 區與 B 區名單完整分配完成
- 若某一區人數不足,系統會自動補入「那個」
- 兩區人數差 2 以上時,每輪會輪流讓人多的一區成員跨區支援
- 跨區平衡後仍有缺口(總人數為奇數)時,才補入「那個」
- 產生配對後可用按鈕手動上傳資料到資料庫
- 若指定日期已經有資料,上傳前會先詢問是否覆蓋
- 可讀取指定日期的資料庫內容並回填到畫面