# DNFCalculating
**Repository Path**: fzls/DNFCalculating
## Basic Information
- **Project Name**: DNFCalculating
- **Description**: 主体实现By纸飞机
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-11-02
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# DNFCalculating
执行程序下载:https://wws.lanzous.com/b01bfj76f 或 https://pan.lanzou.com/b01bfj76f
python(3.8)编写,使用pyqt5(5.14.2) 图形GUI 库
主框架由纸飞机实现,西瓜提供数据公式并协助修改,SCUDRT对算法进行优化修改
如果有兴趣添加职业整合,可加群:1019815121,记得备注下职业
## 程序目录结构说明
### Part 目录
职业相关文件目录,由职业名.py 及 sum.py 组成,职业名.py 负责各个职业的个性化数据,sum.py 负责引用所有职业
若项目文件打开时图片显示不正常请将 pyqt5 版本更新至 5.14.2 或以上
### ResourceFiles 目录
资源文件目录,由公用资源文件及职业资源文件组成
### main.py
程序入口页面,职业相关部分已经抽出,无需修改
### PublicReference 目录
公共实现部分,由 base.py 装备.py 装备函数.py 组成
#### PublicReference/base.py
核心算法及主体界面绘制部分
常规无需修改该部分,如需要优化程序的效率及部分算法,可尝试修改
主体核心可优化空间比较大,但由于接触 PY 才几个礼拜,对 PY 多核心运算的不熟悉,暂不打算修改,欢迎尝试优化
#### PublicReference/装备.py
装备及套装数据部分
如需要添加修改装备.可在此处修改,注意装备的后缀数字,需要与 img/装备下的文件名一致(新增需要同步添加图标)
#### PublicReference/装备函数.py
一些计算公式部分,除非公式出现偏差,否则无需修改
## 添加一个职业的步骤
1 - 在 Part 目录下,创建职业.py 文件,实现参考其他职业,
2 - 在 ResourceFiles 目录下创建对应的职业素材文件夹,结构参考其他职业
3 - 在技能文件夹中添加技能图标,图片后缀为 png,buff 图标命名为 BUFF.png
4 - 参考其他职业,在.py 文件中完善技能数据及部分特殊的算法(如果有比较奇怪的算法需要时间,可以参考芙蕾雅.py)
5 - 在 Part/sum.py 中引入并添加对应职业
## 其余说明
由于技能及被动等已经做过抽象化同时进行过扩展,因此大部分职业只需要录入基础数据等就可以
小部分采用/CD 无法计算的续航类技能等,可参考芙蕾雅.py 进行计算函数个性化实现
技能及被动等只扩展了技能的三条属性,第一条技能 hit 默认 1,2|3 条 hit 默认为 0,需要手动赋值
如果需要继续扩展,可以在各自职业类内继承后自行扩展,同时需要重写下等效百分比函数
固伤在填写基础及成长的时候需要注意,技能面板/独立得到的成长及数值需要\*100
如果需要添加武器,在 PublicReference/装备.py 添加装备属性,同时在 ResourceFiles/img/装备装备下添加对应图标