DPS予想5
この前作ったシミュレータをクリダメ分も計算するように改良してみた。
プログラムはこんな感じ
N = 100000 # 実験回数 sec = 2*60 # 時間 (sec) d1 = [295,305] # 通常攻撃ダメ d2 = [1053*2, 1083*2] # SSダメ q = 0.15*(1+0.24+0.25+0.05) # SS発動率 sp = 0 # 攻撃速度上昇 cr = 0.8 # (実際の)クリ率 cd = 110+7 # クリダメ増 (%) n = (sec/(1.3*13/16/(1+sp*0.01))).to_i cri=(150+cd)*0.01 $frand=Random.new() def occ(q) $frand.rand(1.0) < q end def dmg(atk, na, nb, ra, rb, q, cr, cri) sum = 0 atk.times do dm1 = rand(na..nb) # 通常ダメ dm1 =(dm1*cri).to_i if occ(cr) # クリ sum += dm1 if occ(q) then dm2 = rand(ra..rb) # リアクションダメ dm2 =(dm2*cri).to_i if occ(cr) # クリ sum += dm2 end end sum end result= N.times.map { dmg(n, *d1, *d2, q, cr, cri) } result.each do |d| print "#{d}\n" end
結果
それで動かしてみた結果がこれ。
横軸が2分間の総ダメで、縦軸がその頻度。以前に比べて分布の形がきれいな気がする。
20万ぐらいが平均で、16万 - 26万に大体収まる感じかな。
カーラで実際に測定してみるのはまた後日。