Python 赵云被动免伤计算
生活随笔
收集整理的這篇文章主要介紹了
Python 赵云被动免伤计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家都知道,王者榮耀里的刺客趙云有被動免傷機制,但是玩的時候感受不明顯,下面給大家看一個直觀的數據
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt# 在我的 notebook 里,要設置下面兩行才能顯示中文 plt.rcParams['font.family'] = ['sans-serif']blood = 1 # 初始滿血量 blood_no_protect = 1 # 初始滿血量 damage = 0.1 # 每次傷害量 total = 0# 用于繪制圖表 index = 0 has_protect = [] no_protect = []while True:protect = ((1 - blood) / 3) # 免傷率: 趙云受到3%傷害時,1%免傷,當前90%的血量,免傷為real_damage = damage * (1 - protect) # 加入免傷率后的傷害blood = blood - real_damage # 生命值遞減blood_no_protect = blood_no_protect - damagehas_protect.append(blood) # 統計免傷if(blood_no_protect >0): # 統計未免傷no_protect.append(blood_no_protect)else:no_protect.append(0)total = total + damage # 統計等價生命值index = index + 1if blood < 0:breakprint("第%s次,遭受傷害 %.3f,當前生命值 %.3f" % (index ,real_damage,blood)) print("總的被動等價生命值 %s" % total)t = np.linspace(0, 1, index) plt.title('趙云被動生命值') plt.ylabel('生命值') plt.xlabel('時間') plt.plot(t, has_protect, 'r', label='有被動免傷') plt.plot(t, no_protect, 'b', label='沒有被動免傷') plt.legend() plt.grid() plt.show()輸出結果:
第1次,遭受傷害 0.100,當前生命值 0.900
第2次,遭受傷害 0.097,當前生命值 0.803
第3次,遭受傷害 0.093,當前生命值 0.710
第4次,遭受傷害 0.090,當前生命值 0.620
第5次,遭受傷害 0.087,當前生命值 0.532
第6次,遭受傷害 0.084,當前生命值 0.448
第7次,遭受傷害 0.082,當前生命值 0.366
第8次,遭受傷害 0.079,當前生命值 0.287
第9次,遭受傷害 0.076,當前生命值 0.211
第10次,遭受傷害 0.074,當前生命值 0.137
第11次,遭受傷害 0.071,當前生命值 0.066
總的被動等價生命值 1.2
這里可以看出隨時時間推移,趙云的被動免傷會逐漸提高,沒有免傷的情況下,到了0.8 的時間就已經嗝屁了,有免傷還可以再支撐一下,相當于原血量的 120%
總結
以上是生活随笔為你收集整理的Python 赵云被动免伤计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android脚本 附近的人,安卓引流脚
- 下一篇: 比大衣保暖,比羽绒服显瘦!这件高级反貂绒