天翼决吧 关注:380,274贴子:5,974,465
  • 1回复贴,共1页

雷电凯旋深入分析攻略

取消只看楼主收藏回复

听说回复越多经验越多。。
起初是想通过数学的方法,得到一个触发几率的函数,后来发现自己应该知难而退
换一个方法,用程序模拟的方式来统计。 同样具备科学性。
实现目标:
写个小程序,模拟10000次攻击,统计在有凯旋存在情况下,近战英雄和远程英雄实际的雷电触发几率。
说明1: 仅仅考虑在无其他符文强化下的增强效果
说明2: 仅仅考虑凯旋对物理雷电的增强效果
说明3: 认为PHP自带的rand()函数可以做到所谓的“随机”功能。
说明4: 考虑了雷电凯旋的一切被动效果,包括一秒之内无法多次触发
说明5: 天翼决内英雄基础攻击间隔是170.
当0<攻击速度<170时,攻击间隔>1s, 凯旋每次都有效
当171<攻击速度<340时,1s>攻击间隔>0.5s,触发雷电后的后一次攻击凯旋无效
当341<攻击速度<500时,0.5s>攻击间隔>0.33s,触发雷电后的后两次次攻击凯旋无效
说明6: 统计数据上存在1%-2%的误差,要淡定。
算法思想:
能看懂的不需要我解释,看不懂的解释也没用。。。

当近战英雄满足171<攻击速度<340时 , 雷电触发概率约为39%, 和原有28%相比, 增强40%

当近战英雄满足 341<攻击速度<500时 , 雷电触发概率约为35%, 和原有28%相比, 增强25%

当远程英雄满足 171<攻击速度<340时 , 雷电触发概率约为30%, 和原有15%相比, 增强100%

当远程英雄满足 341<攻击速度<500时 , 雷电触发概率约为26%, 和原有15%相比, 增强73%
至于当攻击速度<170时,即每次都触发凯旋效果,大家都会算的,不做赘述。


1楼2013-07-16 20:25回复
    算法思想大概是这样的:
    Q:如何模拟一次攻击是否触发雷电?
    A:用rand()函数产生一个1-100之间的整数, 一旦产生的整数小于某个值,则判定为触发雷电(以近战为例,若凯旋此时有效,小于46则说明爆了一次雷电;若凯旋此时冷却中,小于28则说明爆了一次雷电)
    Q:如何体现凯旋的1秒冷却?
    A:1秒冷却和攻击速度有关
    当攻击间隔大于1秒时,每次都触发凯旋
    当攻击间隔大于0.5秒小于1秒时,若第n次攻击触发雷电,则第n+1次攻击凯旋无效(此时雷电触发几率仍存在,为原始值,近战28%,远程15%)
    当攻击间隔大于0.33秒小于0.5秒时,若第n次攻击触发雷电,则第n+1次和第n+2次攻击凯旋无效(此时雷电触发几率仍存在,为原始值,近战28%,远程15%)
    算法实现上,在判定雷电是否触发之前,先通过num的值来确定这是触发雷电后的第几次攻击(例如num=1,则说明这是第n+2次攻击),再通过num的值和此时程序中的模拟攻击速度来确定这一次攻击中凯旋效果是否有效。


    20楼2013-07-17 08:35
    回复