设计一个父类,表示游戏角色:派生出多个子类用于表示不同职业的角色。为每个类设计必要的属性和方法,并实例化
下面是我的代码。
class Person(object):#必须以object为基类
def __init__(self,name = '',sex = '',HP = '',SP = '',ATK = '',faqiang ='',hujia = '',mokang = '',yisu = ''):
self.setName(name)
self.setSex(sex)
self.sethp(HP)
self.setsp(SP)
self.setatk(ATK)
self.setFQ(faqiang)
self.setHJ(hujia)
self.setMK(mokang)
self.setYS(yisu)
def setName(self,name):
if not isinstance(name,str):
print('name must be string.')
return
self.__name = name
def setSex(self,sex):
if sex != 'Man' and sex != 'Woman':
print('sex must be "man" or "woman"')
return
self.__sex = sex
def sethp(self,HP):
self.__HP = HP
def setsp(self,SP):
self.__SP = SP
def setatk(self,ATK):
self.__ATK = ATK
def setFQ(self,faqiang):
self.__faqiang = faqiang
def setHJ(self,hujia):
self.__hujia = hujia
def setMK(self,mokang):
self.__mokang = mokang
def setYS(self,yisu):
self.__yisu = yisu
def show(self):
print('姓名:',self.__name)
print('性别:',self.__sex)
print('生命值:',self.__HP)
print('法力值:',self.__SP)
print('攻击力:',self.__ATK)
print('护甲:',self.__hujia)
print('法强:',self.__faqiang)
print('魔抗:',self.__mokang)
print('移速:',self.__yisu)
###父类设计完毕
class ADC(Person):
def __init__(self,name = '',sex = 'man',HP = 2000,SP = 300,ATK = 150,faqiang =0,hujia = 80,mokang = 40,yisu = 300):
super(ADC,self).__init__(name,sex,HP,SP,ATK,faqiang,hujia,mokang,yisu)
def show(self):
super(ADC,self).show()
if __name__ == '__main__':
VN = ADC('惩戒之箭','Man',2000,300,150,0,80,40,300)
GaiLun = ADC('盖伦','Man',4000,0,100,0,200,60,300)
MS = ADC('盲僧','Man',2200,0,120,0,60,60,400)
GaiLun.show()
print()
VN.show()
print()
MS.show()