Security Audit: 扩大排除范围 (tests + admin.py)
通用游戏计算框架 · 目前支持《明日方舟:终末地》与《明日方舟》 English
通用游戏计算框架 · 目前支持《明日方舟:终末地》与《明日方舟》
English
直接用计算器——无需安装。
打开 Web 版 →
或 下载桌面版
📖 玩家手册
为我的游戏构建计算器,或参与贡献。
git clone https://github.com/wxhwwla/calc-framework cd calc-framework python scripts/main_launcher.py
🏗 快速上手 ↓ · 创建计算器 · 贡献路径
ARCHITECTURE_zh.md
CONTRIBUTING_zh.md
docs/contributor-pathways.md
CONTEXT_zh.md
docs/项目目标.md
docs/操作指令集.md
docs/数据来源与许可.md
games/endfield/README.md
[仓库根]/ ├── framework/ # [框架] calc-framework 通用 pip 包 │ ├── src/calc_framework/ # DAG 引擎、逆推引擎、数据、UI、搜索、插件 │ └── adapters/ # 游戏适配器 (endfield/arknights/card_rpg/fps/moba) ├── web/ # [Web] React + FastAPI 全栈 Web 应用 │ ├── backend/ # FastAPI 后端 (/api/*) │ │ └── api/ # 路由 + internal/ entity/ search_lib/ 等(会话手册 §4.188) │ ├── frontend/ # React 前端 (TypeScript + MUI + Vite) │ └── hub/ # Calc Hub — 静态市场页面 ├── games/ # [游戏] 游戏适配包 │ ├── endfield/ # 终末地伤害计算器 (calc + gui + data + tests) │ └── arknights/ # 明日方舟计算器 (DAG + GUI + tests) ├── docs/ # 项目文档 ├── tools/ # [工具] 开发工具 (BWIKI侦察、数据管线、OCR、设计器) ├── scripts/ # [入口] 启动器、打包、开发者工具箱 ├── release_bundle/ # 发布布局配置 ├── installer/ # NSIS 安装包 ├── .github/ # CI 工作流、Issue 模板 ├── LICENSE · DATA_LICENSE · CONTEXT_zh.md · CONTRIBUTING_zh.md └── NOTICES.md # 第三方声明
# 自动发现已安装的游戏适配包 python scripts/main_launcher.py
# 终末地计算器 cd games/endfield pip install -e ".[dev]" python -m games.endfield.main
# 开发者工具箱 python scripts/main_dev_toolkit.py
# 后端 cd web/backend && pip install -r requirements.txt && uvicorn main:app --reload --port 8002 # 前端(新终端) cd web/frontend && npm install && npm run dev
data_to_params()
params_to_curve()
layout.json
.calcplugin
main.py
/
/designer
/pack-designer
/marketplace
Web 版与桌面版共享 layout.json / attr_schema.json / DAG 文件 / 数据 JSON。一套声明,两端渲染。
attr_schema.json
from calc_framework.inverse.engine import InverseEngine engine = InverseEngine() # 反向:数据 → 4 参数(任何等级数、任何游戏) params = engine.data_to_params([100, 105, 110, 115, 120]) # GrowthParams(base=100, growth=5, divisor=1, offset=0) # 正向:4 参数 + 等级 → 曲线 curve = engine.params_to_curve(params, num_levels=90) # [100.0, 105.0, ..., 545.0]
from calc_framework.inverse.schema import GameInverseAdapter, InverseSchema # 新游戏接入:声明式配置,不写分派代码 class MyGame(GameInverseAdapter): @property def schemas(self): return [InverseSchema(length=60), InverseSchema(length=10)] def default_formula(self): return "floor_linear" adapter = MyGame() result = adapter.fit(data) # 自动按长度匹配
# 框架测试 cd framework && pytest tests/ -q # 1160 passed # 终末地测试 cd games/endfield && pytest tests/ -q # 1585 passed
1040157567
NOTICES.md
使用或分发即视为接受相应许可。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Calc Framework — 通用游戏计算框架
🚀 快速开始
🎮 我是玩家
直接用计算器——无需安装。
打开 Web 版 →
或 下载桌面版
🔧 我是开发者
为我的游戏构建计算器,或参与贡献。
文档导航
ARCHITECTURE_zh.md(EN)CONTRIBUTING_zh.md(EN)docs/contributor-pathways.mdCONTEXT_zh.md(EN)docs/项目目标.mddocs/操作指令集.mddocs/数据来源与许可.mdgames/endfield/README.md目录一览
快速开始
推荐:启动器
直接启动
Web 版
功能概览
终末地伤害计算器
明日方舟计算器
通用框架
data_to_params()/params_to_curve()— 任意游戏双向公式拟合layout.json+ DAG 变量 → 自动渲染控件.calcplugin格式Web 版
main.py(桌面)/ FastAPI + React(Web)//designer/pack-designer/marketplaceWeb 版与桌面版共享
layout.json/attr_schema.json/ DAG 文件 / 数据 JSON。一套声明,两端渲染。框架 API 速览
测试
社区与交流
1040157567许可证与数据来源
docs/数据来源与许可.mdNOTICES.md使用或分发即视为接受相应许可。