匹克球計分系統怎麼做?從規則、流程到技術架構一次解析

隨著匹克球在台灣越來越熱門,許多球館與玩家都希望能有簡單好用的計分系統,用來管理友誼賽、教練課程或正式比賽。計分系統看起來小,但要設計得好,其實需要同時了解匹克球規則、比賽流程與後端資料架構。

這篇文章整理出完整的思考流程,包含規則拆解、功能需求、UI、後端資料表與 API 方式,讓球館或開發者了解一套計分系統應該怎麼做。


目錄


計分系統的目的

一套計分系統必須解決三件事:

1. 正確紀錄比賽

  • 分數
  • 發球方
  • 換邊
  • 失誤與贏球球數

2. 減少場上爭議

  • 每球紀錄(Rally Log)
  • 上一球結果
  • 失誤類型

3. 方便教練與球館管理

  • 數據統計
  • PDF 比賽報告
  • 即時比賽看板

匹克球如何計分

了解規則是系統邏輯的基礎。

基本規則

  • 先得 11 分,領先 2 分
  • 雙打採三碼制(Server Number)
  • 發球方失誤 → 交換發球權(Side Out)
  • 分數奇偶影響左右站位(Switch Court)

計分邏輯拆解(給開發者)

事件說明
score_point得分方 +1
side_out發球權交換
rotate_server同隊 1 號 → 2 號
switch_court換邊
rally_end一個回合結束

計分系統功能示意

基本功能

  • 分數增加/減少
  • 發球方箭頭
  • Server Number(1 / 2)
  • Undo 一鍵撤銷
  • 比賽結束提醒

進階功能

  • 每球紀錄(Rally Log)
  • 非受迫性/受迫性失誤
  • 發球得分統計
  • PDF 比賽報告
  • 球館大螢幕同步顯示

系統設計:前端畫面流程

1. 建立比賽頁面

  • 選擇單打/雙打
  • 選擇比分(11/15/21)
  • 輸入隊伍名稱

2. 主畫面(UI 設計重點)

  • 兩側隊伍名稱
  • 大字體分數
  • 發球方箭頭
  • Server Number 標示
  • Undo 按鈕
  • Rally Log 按鈕

3. 每球紀錄(Rally Log)

[
  { "rally": 1, "winner": "Team A", "type": "forced-error" },
  { "rally": 2, "winner": "Team B", "type": "unforced-error" }
]

系統設計:後端資料架構

以下以 PostgreSQL / Supabase 風格示範。

games(比賽資料)

欄位說明
id主鍵
team_a隊伍 A 名稱
team_b隊伍 B 名稱
points_a分數 A
points_b分數 B
server_teamA 或 B
server_number1 或 2
statusongoing / finished
created_at時間戳記

rallies(回合紀錄)

欄位說明
id主鍵
game_id所屬比賽 ID
rally_number第幾球
winnerA / B
error_typeforced / unforced
server_team發球隊伍
server_number1 / 2
created_at時間戳記

API 設計示例

建立比賽

POST /api/games

{
  "teamA": "John & Alex",
  "teamB": "Mike & Sam",
  "rule": 11
}

紀錄得分

POST /api/games/:id/score

{
  "winner": "A"
}

紀錄每球回合

POST /api/games/:id/rally

{
  "rallyNumber": 12,
  "winner": "B",
  "errorType": "unforced"
}

取得比賽現況

GET /api/games/:id

實作技術選擇

🟢 Web App(推薦)

  • Next.js / Nuxt
  • 手機即可使用
  • 不用上架 App Store

適合:球館、教練、活動主辦

🔵 行動 App

  • React Native / Flutter
  • 有通知、離線模式

適合:要做完整品牌與訂閱制的公司

🟣 後端 API

  • Go / Echo
  • PostgreSQL / Supabase
  • JWT

適合:球館已有自己的前端想串 API


建議從從簡單做到進階

Level 1 — 只做計分

Level 2 — 加 Rally Log

Level 3 — 加上數據儀表板 / PDF 報告

Level 4 — 加上與球館後台整合(場地/賽程/大螢幕)

作者: PicklePi

我是匹克皮
你的陪打與入門教練

發佈留言