ToolAct工具行动

记分牌

仿真翻页记分牌,为比赛和游戏实时计分

配色方案:
红队
0
0
0
0
蓝队
0
0
0
0
VS

什么是记分牌?

记分牌是体育赛事和竞技游戏中用来记录双方得分的专用工具。这款在线记分牌模拟了真实翻页式记分牌的外观和翻页动画效果,让您在乒乓球、羽毛球、篮球、桌游、知识竞赛等场景中获得沉浸式的计分体验。

支持红蓝、红黄等多种配色方案,可添加最多 6 支队伍,支持一键全屏投影到大屏幕。所有数据自动保存在浏览器本地,刷新页面也不会丢失比分记录。

使用方法

使用方法

  1. 选择配色方案:红蓝、红黄等
  2. 点击队名即可编辑
  3. 使用 +/- 按钮调整比分
  4. 点击全屏按钮投影到大屏幕

显示技巧

  • 活动开始前切换到全屏模式,确保队名、颜色和比分在观众席位置清晰可读。
  • 若比分需作为正式记录,请在浏览器标签页关闭或本地存储被清除前,保留书面或系统记录。

使用场景

为小型比赛或课堂游戏计分从两支队伍开始,使用加减控件调整比分,内联重命名队伍,最多可添加六个玩家或队伍。分数不会低于零,这让现场比赛中的临时计分保持简单。这是一个本地显示工具——数据不会离开设备,因此学生姓名、课堂名册和临时组队不会经过任何远程计分服务。
使用全屏大字记分牌记分牌可进入浏览器全屏 API,以动画翻页数字显示比分。这使其可用于投影仪、电视或共享显示器,参与者需要从远处读取比分。因为每个数字翻页都是由本地状态驱动的 CSS 动画,即使场馆 Wi-Fi 在比赛中途断开,显示仍会继续动画。
跨会话保存队伍设置玩家、名称、颜色和比分存储在 localStorage 中,配色主题可以快速重新着色记分牌。比分清零会清除分数但保留队伍设置,适合多轮重复比赛。由于存储是本地浏览器配置文件级别的,切换设备或在另一个浏览器中打开页面会从干净的状态开始——没有共享的云端名册可管理。
为场馆可见性切换配色主题在红蓝和红黄调色板之间切换,或为单个队伍重新着色,使记分牌在投影仪灯光、体育馆照明或明亮的户外比赛中保持可读性。高对比度配色减少了距屏幕数米远的观众的眯眼程度。配色切换是本地 CSS 变量替换,因此重新着色的记分牌仍然是不会同步到任何地方的本地显示工具。
轮间重置而不丢失队伍信息比赛结束后使用比分清零控件将分数归零,同时保留队伍名称、颜色和队伍数量。这加快了 N 局制或锦标赛赛制中相同阵容再次比赛的节奏,避免了每场比赛之间重新输入六个名字。重置纯粹是页面内的状态变更,不会触发排行榜导出、推送通知或外部排名服务。

技术原理

记分牌作为一个小型客户端状态机运行:每支队伍是一个包含 name、score 和 color 字段的对象,整个名单在每次变更时以 JSON 字符串形式持久化到 window.localStorage。由于 localStorage 是同步的,且作用域限定为浏览器来源和用户配置文件,同一标签页在刷新后数据仍在,但不同浏览器或隐私模式窗口会从空名单开始。 翻页数字动画是纯 CSS 实现:每个数字分为上下两半,围绕 X 轴旋转,分数变化时切换可见数字,同时通过 300-400 毫秒的 transform: rotateX 过渡动画模拟翻页效果。由于动画由本地状态驱动而非网络帧,即使场馆 Wi-Fi 在比赛中途断开,显示仍会继续动画。全屏演示使用标准 Fullscreen API(element.requestFullscreen、document.exitFullscreen),使记分牌可以填满投影仪或电视屏幕,不显示浏览器界面。 多标签页同步依赖 storage 事件:当 localStorage 的 key 在一个标签页中发生变化时,同一来源下的其他标签页会收到 StorageEvent 并根据更新后的 JSON 重新渲染。这使得裁判手机和场边笔记本电脑无需任何后端即可保持同步,因为数据不会离开设备。

  • 状态持久化:使用 window.localStorage.setItem 在每次分数变化时将 JSON 字符化的名单存储,按浏览器来源和用户配置文件隔离
  • 翻页动画:两个 CSS 伪半部分通过 transform: rotateX 在约 300-400 毫秒内动画,无需 JS 动画循环
  • Fullscreen API:element.requestFullscreen() / document.exitFullscreen(),配合 fullscreenchange 事件监听 Esc 键退出
  • 多标签页同步:window.addEventListener('storage', handler) 在 key 变化时触发其他所有标签页
  • 分数下限:分数被限制在零以上,防止减号按钮在休闲比赛中产生负分
  • 颜色主题:CSS 自定义属性(--team-a、--team-b)无需重新渲染 DOM 树即可切换配色
  • 分数上限取决于当前规则,例如篮球无上限,乒乓球以 11 分结束并有 2 分领先规则

示例

篮球半场记分牌

A 队:Lakers   颜色:红
B 队:Celtics  颜色:蓝
第一节:22 - 18
第二节:41 - 38   (半场)
第三节:60 - 55
第四节终场:82 - 76
主题:红蓝配色,体育馆投影仪全屏显示

网球分盘比分

第 1 盘:6 - 4    (选手 A 胜)
第 2 盘:3 - 6    (选手 B 胜)
第 3 盘:7 - 5    (选手 A 胜)
最终:选手 A 以 2-1 取胜
小贴士:将队名改为选手名,每场比赛结束后重置

知识竞赛之夜,4 队赛制

第 1 轮:Team Quokka 8,Team Otter 6,Team Bear 7,Team Wolf 5
第 2 轮:14、13、12、10
第 3 轮:21、22、17、16
最终:30、31、25、23   -> Otter 获胜
最多支持 6 队,分数保存在 localStorage

乒乓球 11 分制

比分序列:1-0、2-0、2-1、3-1、3-2、3-3、4-3、…、10-9
10-10 平后进入决胜:必须领先 2 分获胜
最终:12 - 10
主题:红黄配色,便于大屏高对比度观看
重置比分会保留选手名以便下一局使用

常见问题

适合哪些运动?

最初为乒乓球、羽毛球这类需要快速翻牌式记分的项目设计(突变切换、超大粗体数字)。同样适用于棋牌游戏、知识竞答、篮球、排球、电竞比赛、课堂答题以及任何需要快速更新比分的场景。

可以自定义队名和颜色吗?

可以。点击队名即可直接编辑。从预设的配色主题中(红蓝、红黄等)挑选适合赛事的方案。暂未提供 logo 或图片上传功能。

翻牌动画是怎么实现的?

通过 CSS 3D 变换模拟机械翻牌卡。翻转时长经过控制,不会拖慢快速记分(数百毫秒)。如果你更喜欢即时更新,可以在设置中关闭动画。

刷新页面后比分会保留吗?

会。当前的对阵信息(队名、比分、颜色)每次变动都会写入 localStorage,因此在同一浏览器中刷新后比分不会丢失。换浏览器或清除站点数据则会重置为 0-0。

可以在投影仪或大屏上使用吗?

可以。计分板支持全屏模式,方便投到投影仪、电视或外接显示器。比分会保存到 localStorage,在同一浏览器中刷新页面也不会丢失。

支持「局/盘」分制(如网球)吗?

部分版本支持——可以设置「N 局 X 胜制」结构,并在每局结束后重置当前比分。简化版本只统计原始得分。请根据你的运动选择合适的模式。

数据会上传吗?

不会。计分板完全在浏览器中运行,比分仅存在于当前标签页中,并(可选)写入 localStorage,任何数据都不会发送到服务器。