王者荣耀无双铭文数量计算

import numpy as np


class mingwen():
    '''
    铭文类
    '''

    def __init__(self, crit_rate, crit_effect):
        '''
        :param crit_rate: 暴击率
        :param crit_effect: 暴击效果
        '''
        self.crit_rate = crit_rate
        self.crit_effect = crit_effect


huoyuan = mingwen(0.016, 0)  # 祸源铭文的暴击率和暴击效果
wushuang = mingwen(0.007, 0.036)  # 无双铭文的暴击率和暴击效果

flag = False  # 是否出无尽,手动修改为True或者False

data_all = []
data_all.append([0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0])  # 用来保存数据
for i in range(101):
    '''
    i/100代表除了无尽和铭文以外的其他装备的暴击率总和
    '''
    data_per = []
    data_per.append(i)  # 记录其他装备暴击率总和
    for j in range(11):
        '''
        j代表无双铭文个数,从0-10开始遍历
        '''
        crit_rate = i / 100  # 初始化暴击率
        crit_effect = 2  # 初始化暴击效果,如果是猴子和阿轲改成1.5和1.25
        if flag:
            '''
            出了无尽的情况下暴击率和暴击效果的变化
            '''
            crit_rate += 0.2
            crit_effect += 0.4
        # 铭文加成
        crit_rate += + j * wushuang.crit_rate + (10 - j) * huoyuan.crit_rate
        crit_effect += j * wushuang.crit_effect + (10 - j) * huoyuan.crit_effect
        if crit_rate >= 1:
            '''
            考虑暴击率超过1的情况
            '''
            crit_rate = 1
        if crit_effect >= 2.5:
            '''
            考虑暴击效果超过2.5的情况
            '''
            crit_effect = 2.5
        hurt = crit_rate * crit_effect + (1 - crit_rate) * 1  # 计算伤害
        data_per.append(hurt)  # 记录伤害
    hurt_max = max(data_per[1:])  # 记录最大伤害
    wushuang_number = data_per.index(hurt_max) - 1  # 记录最大伤害时无双的数目
    data_per.append(wushuang_number)  # 记录此数据
    data_all.append(data_per)  # 记录当前i的数据

data_all = np.array(data_all)  # 格式转化

if flag:
    '''
    取的文件名字不同
    '''
    fname = "出无尽.csv"
    head = "此表为出无尽的情况,A列为除了无尽和铭文以外的其他装备提供的暴击率,B到L列为不同数量的无双铭文的各种情况,L列为伤害最高的情况的无双铭文数量。"
else:
    fname = "不出无尽.csv"
    head = "此表为出不无尽的情况,A列为除了无尽和铭文以外的其他装备提供的暴击率,B到L列为不同数量的无双铭文的各种情况,L列为伤害最高的情况的无双铭文数量。"

np.savetxt(fname, data_all, delimiter=',', fmt='%f', header=head)  # 写文件

出无尽
不出无尽

得出结论:
不出无尽战刃时:
x∈0-9%时,携带0个无双最好。
x∈10-11%时,携带1个无双最好。
x∈12-13%时,携带2个。
x∈14-15%时,携带3个。
x∈16-17%时,携带4个。
x∈18%时,携带5个。
x∈19-20%时,携带6个。
x∈21-22%时,携带7个。
x∈23-24%时,携带8个。
x∈25-26%时,携带9个。
x∈27-100%时,携带10个。

当备选装备里面有无尽的时候:
x∈0-1%时,携带1个无双最优。
x∈2-14%时,携带2个无双最优。
x∈15-100%时,携带3个无双最优。

猜你喜欢

转载自blog.csdn.net/qq_34769201/article/details/97296620
今日推荐