import random
class Witch:
def __init__(self,name,level):
self.name=name
self.level=level
def __repr__(self):
return ('{}(lv{})'.format(self.name,self.level))
def witchcraft_attack(self):
return random.randint(1,10)*self.level
class FireWitch(Witch):
def __init__(self,name,level,firestaff):
super().__init__(name,level)
self.firestaff=firestaff
def witchcraft_attack(self):
base_attack=super().witchcraft_attack()
if self.firestaff== True:
print("女巫噴火啦")
return base_attack*2
else:
return base_attack
firewitch=FireWitch('火焰女巫',5,random.choice([False,True]))
目前想說 random ture * 2 false * 1
但執行
firewitch.witchcraft_attack()
女巫噴火啦
Out[139]: 100
firewitch.witchcraft_attack()
女巫噴火啦
Out[140]: 80
firewitch.witchcraft_attack()
女巫噴火啦
Out[141]: 50
女巫一直噴火 感覺random 一直跑ture
為啥不會跑false呢?