一个专为D&D 5e设计的战斗数据分析和遭遇平衡工具,帮助DM快速计算队伍输出、怪物威胁度,优化游戏体验。现已集成蒙特卡洛模拟引擎,提供更精确的战斗预测!
- 多玩家配置: 支持最多8名玩家的详细数据输入
- 实时DPR计算: 自动计算每轮平均伤害输出
- 优劣势支持: 完整的优势/劣势机制计算
- 智能推荐: 基于队伍输出推荐合适的怪物血量
- 数据联动: 可与怪物数据实时联动,获得真实对抗结果
- 威胁评估: 分析怪物对玩家的威胁程度
- 秒杀风险: 检测怪物是否能一击秒杀玩家
- 命中率计算: 精确的攻击命中概率分析
- 伤害预测: 预估怪物每轮输出和最大爆发
- BOSS机制: 支持BOSS怪物的多次攻击配置
- 基于D&D 5e官方规则的精确数学模型
- 支持多种骰子类型 (d4, d6, d8, d10, d12, d20)
- 优势/劣势状态的准确概率计算
- 暴击机制完整实现
- 法术豁免机制支持
- 单体伤害验证: 10万次模拟验证理论DPR的准确性
- 全战役模拟: 1万次完整战斗模拟,预测玩家胜率
- 实战数据: 提供平均战斗轮数、团灭风险等关键指标
- Python后端: 高性能计算引擎,支持复杂战斗逻辑
- Node.js 16.0 或更高版本
- npm 或 yarn 包管理器
- Python 3.7+ (用于蒙特卡洛模拟,可选)
- 克隆项目
git clone <repository-url>
cd dnd-combat- 一键启动 (推荐)
Windows用户:
# 双击运行批处理文件
start.bat所有系统用户:
# 使用Node.js启动脚本
node start.js
# 或使用npm命令
npm start传统方式:
# 手动安装依赖
npm install
# 启动开发服务器
npm run dev- 启动蒙特卡洛后端 (可选,用于高精度模拟)
# 在项目根目录运行
python dnd_monte_carlo.py- 打开浏览器
一键启动会自动打开浏览器,或手动访问
http://localhost:5173
- 选择"分析队伍"模式
- 设置目标怪物的AC值和豁免加值
- 为每个玩家配置:
- 攻击加值或法术DC
- 伤害骰子 (数量/面数)
- 固定伤害加值
- 每轮攻击次数
- 优势状态
- 防御属性 (AC/HP/豁免)
- 查看实时计算的队伍总DPR
- 参考推荐的怪物血量范围
- 开启数据联动获得真实对抗结果
- 选择"分析怪物"模式
- 配置怪物数据:
- 攻击加值或法术DC
- 伤害公式
- 每轮攻击次数 (BOSS可多次攻击)
- 优势状态
- 防御属性 (AC/HP/豁免)
- 设置目标玩家的AC和HP
- 查看威胁评估和秒杀风险
- 开启数据联动进行模拟战报
- 单体验证: 点击任意角色卡片上的紫色按钮进行单体伤害模拟
- 全战役模拟: 开启数据联动后,点击"运行蒙特卡洛全战役模拟"
- 结果分析: 查看玩家胜率、平均战斗轮数、实战DPR等数据
- 参数调整: 可选择1万次或10万次模拟精度
- 框架: React 19.2.0
- 构建工具: Vite 7.2.4
- 样式框架: Tailwind CSS 3.4.17
- 图标库: Lucide React 0.562.0
- 代码规范: ESLint
- 语言: Python 3.7+
- Web框架: Flask
- 跨域支持: Flask-CORS
- 算法: 蒙特卡洛随机模拟
- 打包: Electron 40.0.0
- 构建工具: Electron Builder 26.4.0
dnd-combat/
├── src/
│ ├── App.jsx # 主应用组件 (战斗计算器)
│ ├── App.css # 应用样式
│ ├── main.jsx # 应用入口
│ ├── index.css # 全局样式
│ └── assets/ # 静态资源
├── public/ # 公共文件
├── package.json # 项目配置
├── vite.config.js # Vite配置
├── tailwind.config.js # Tailwind配置
├── main.js # Electron主进程
├── start.js # 一键启动脚本
├── start.bat # Windows批处理启动
└── dnd_monte_carlo.py # Python蒙特卡洛模拟引擎
- 遭遇设计: 根据队伍实力设计合适难度的战斗
- 怪物调整: 快速调整怪物数据以平衡战斗
- 威胁评估: 预判怪物对队伍的威胁程度
- 战斗预测: 通过蒙特卡洛模拟预测战斗结果
- 角色优化: 分析不同装备和技能的输出效果
- 战术规划: 计算优势/劣势对战斗的影响
- 数据对比: 比较不同角色构建的效果
- 团队配合: 评估队伍整体战斗力
- 数学验证: 通过蒙特卡洛模拟验证理论计算
- 概率分析: 深入理解D&D战斗机制的随机性
- 平衡测试: 测试自制规则和内容的平衡性
# 一键启动 (推荐)
npm start
# 开发模式
npm run dev
# 构建生产版本
npm run build
# 预览构建结果
npm run preview
# 代码检查
npm run lint
# 启动蒙特卡洛后端
python dnd_monte_carlo.py
# 构建桌面应用
npm run build:exe项目提供了两种一键启动方式:
- 双击
start.bat文件 - 自动检查环境和依赖
- 自动打开浏览器
- 运行
node start.js或npm start - 支持 Windows/Mac/Linux
- 自动检测系统并打开浏览器
两种方式都会:
- ✅ 自动检查 Node.js 环境
- ✅ 自动安装依赖(首次运行)
- ✅ 自动打开浏览器
- ✅ 提供友好的中文提示
欢迎提交Issue和Pull Request来改进这个工具!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
- 添加更多职业和种族的预设模板
- 支持法术伤害计算的进一步优化
- 集成官方怪物数据库
- 添加战斗轮次详细模拟器
- 支持自定义规则变体
- 多语言支持 (英文版本)
- 移动端适配优化
- 云端数据同步功能
- 单体模拟: 支持1万-10万次模拟,验证理论DPR
- 团战模拟: 1万次完整战斗,提供胜率和战斗时长预测
- 高性能: Python后端优化,模拟速度快
- 准确性: 完整实现D&D 5e规则,包括暴击、优劣势等
- 实时同步: 玩家和怪物数据自动联动
- 智能计算: 自动计算平均AC、豁免、总HP
- 灵活切换: 可随时切换手动模式和联动模式
Made with ❤️ for the D&D community