You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.8 KiB

import random
# 英雄类
class Hero:
def __init__(self, hp, li, zhi, minjie, nuqi=0, bag=[]):
self.hp = hp
self.li = li
self.zhi = zhi
self.min = minjie
self.nuqi = nuqi
self.bag = bag
self.max_hp = hp
# 计算攻击
def attack(self, minjie, jiu=False, teiji=False):
if teiji:
if jiu:
return int((self.li * 0.7 + self.zhi * 0.3)*2.5)
else:
return int(self.li * 0.7 + self.zhi * 0.3)
else:
if jiu:
if self.hitRate(minjie):
return int((self.li * 0.7 + self.zhi * 0.3)*2.5)
else:
return False
else:
return int(self.li * 0.7 + self.zhi * 0.3)
# 计算怒击
def enragedAttack(self, minjie, jiu=False, teiji=False):
if teiji:
if jiu:
return int((self.li + self.zhi) * 2.5)
else:
return int(self.li + self.zhi)
else:
if jiu:
if self.hitRate(minjie):
return int((self.li + self.zhi) * 2.5)
else:
return False
else:
return int(self.li + self.zhi)
# 计算命中(受敏捷影响)
def hitRate(self, minjie=0):
hit_rate = 0.8 + (self.min - minjie) * 0.01
hit_rate = max(0.2, min(1.0, hit_rate))
roll = random.random()
if roll <= hit_rate:
return True
else:
return False
# 逃跑
def run(self, minjie):
run_rate = 0.5 + (self.min - minjie) * 0.01
roll = random.random()
if roll <= run_rate:
return True
else:
return False