代码分享 | 赛事积分板 (Scoreboard)


目录
赛事积分板 (Scoreboard)
一个实时、灵活的赛事积分统计应用。
© 2025 赛事积分板 (Scoreboard)
项目发布页
- 我的个人主页:
- GitHub:
预览地址
应用展示
-
点击积分列表中非自己的用户名,即可弹出转账页面。
图1 转账页面
-
点击“本局记录”按钮,即可查看本局积分流水。
图2 积分列表与本局记录
-
点击“积分变化图”按钮,即可查看在该竞赛房间内全部的积分变化图。
图3 积分列表与积分变化图
代码仓库
功能特性
-
首页
- 用户从现有用户列表中选择,也可以添加新用户
- 创建新赛事或加入已有赛事
- 创建赛事时可设置所有用户的初始积分(默认为50分)
- 支持设置“零和”和“非零和”积分模式
- 可选密码保护用户账号(6位数字)
-
赛事房间页面
- 显示赛事中所有用户的积分和排名
- 当前用户高亮显示
- 房主用户显示特殊标识(👑)
- 点击其他用户可以转账积分
- 实时自动更新积分列表
- 显示上一局的积分变化
- 查看本局积分转账记录
- 查看积分变化图表
- 支持负分记录,用户可以转出超过自己拥有的积分
-
比赛管理
- 房主可以控制“下一局”和“结算”功能
- 支持多轮比赛记录
- 生成详细的结算报告
- 访客模式允许非参与者观看赛事
安装与运行
前提条件
- Python 3.6+
- Flask
安装依赖
pip install flask
运行应用
使用Python直接运行:
python app.py
启动后,在浏览器中访问 http://127.0.0.1:16868 即可使用。
项目结构
/
├── app.py # Flask应用主程序
├── /templates/ # HTML模板
│ ├── index.html # 首页
│ ├── room.html # 房间页面
│ └── error.html # 错误页面
├── /static/ # 静态资源
│ ├── /css/ # 样式表
│ └── /js/ # JavaScript文件
│ ├── chart-manager.js # 图表管理
│ ├── logs-manager.js # 日志管理
│ ├── room-manager.js # 房间管理
│ ├── settlement.js # 结算功能
│ └── main.js # 主脚本
└── /data/ # 存储赛事数据(JSON格式)
使用说明
-
创建或加入赛事
- 选择已有用户或添加新用户
- 可选添加6位数字密码保护账号
- 创建赛事时可设置每个用户的初始积分(默认50分)和零和/非零和模式
- 点击“创建赛事”“加入赛事”或“观看赛事”按钮
-
赛事房间内操作
- 积分转账:点击其他用户,输入转账金额并确认
- 查看记录:点击“本局记录”查看当前局的转账详情
- 积分图表:点击“积分变化图”查看积分变化趋势
- 下一局:房主可点击“下一局”开始新一轮比赛(当可用时)
- 结算:房主可点击“结算”生成当前阶段的结算报告(当可用时)
-
特殊功能
- 访客模式:无需注册,可实时观看赛事进展
- 结算报告:可展开查看历史结算报告详情
- 房主权限:拥有比赛进程控制权
安全与数据
- 所有数据以JSON格式存储在data目录
- 可选的密码保护用户账号